:root{--bg-0: #03060d;--bg-1: #060b18;--bg-2: #0b1428;--ink: #e9f2ff;--ink-dim: #8ea4c8;--ink-faint: #4a5b7a;--accent: #6ee7ff;--accent-2: #7c9cff;--accent-3: #c084fc;--glow: 0 0 40px rgba(110, 231, 255, .35);--glow-soft: 0 0 80px rgba(124, 156, 255, .25);--border: rgba(110, 231, 255, .18);--border-strong: rgba(110, 231, 255, .4)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{font-family:Space Grotesk,system-ui,sans-serif;background:var(--bg-0);color:var(--ink);overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;touch-action:manipulation;overscroll-behavior:none}.tile,.position-dot,.decision-card,.nfc-card,.btn,.theme-card{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.dragging-ghost{opacity:.35}#root{position:relative;isolation:isolate}.app{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(ellipse at 20% 10%,rgba(124,156,255,.08),transparent 50%),radial-gradient(ellipse at 80% 90%,rgba(192,132,252,.07),transparent 55%),radial-gradient(ellipse at 50% 50%,rgba(110,231,255,.04),transparent 70%),var(--bg-0)}.grid-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(110,231,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(110,231,255,.06) 1px,transparent 1px);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);mask-image:radial-gradient(ellipse at center,black 30%,transparent 80%);pointer-events:none;animation:gridPulse 8s ease-in-out infinite}@keyframes gridPulse{0%,to{opacity:.5}50%{opacity:.9}}.noise{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:.5;pointer-events:none;mix-blend-mode:overlay}.vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at center,transparent 40%,rgba(0,0,0,.6) 100%)}.stage{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4vh 6vw}.eyebrow{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--ink-dim);margin-bottom:24px}.headline{font-size:clamp(28px,4.5vw,56px);font-weight:300;letter-spacing:-.02em;line-height:1.1;text-align:center;max-width:20ch}.headline em{font-style:normal;background:linear-gradient(120deg,var(--accent),var(--accent-2) 55%,var(--accent-3));-webkit-background-clip:text;background-clip:text;color:transparent}.sub{margin-top:20px;color:var(--ink-dim);font-weight:300;font-size:clamp(14px,1.2vw,17px);letter-spacing:.02em;max-width:52ch;text-align:center;line-height:1.5}.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:14px 28px;border:1px solid var(--border-strong);background:linear-gradient(180deg,#6ee7ff14,#6ee7ff05);color:var(--ink);font:500 13px JetBrains Mono,monospace;letter-spacing:.25em;text-transform:uppercase;border-radius:2px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn:hover{border-color:var(--accent);box-shadow:var(--glow);transform:translateY(-1px)}.btn:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,transparent,rgba(110,231,255,.12),transparent);transform:translate(-100%);transition:transform .6s}.btn:hover:after{transform:translate(100%)}.btn .arrow{transition:transform .3s}.btn:hover .arrow{transform:translate(4px)}.wake-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(110,231,255,.3),transparent 60%);animation:wakeBreath 3s ease-in-out infinite;pointer-events:none}@keyframes wakeBreath{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.3);opacity:1}}.nfc-card{margin-top:64px;padding:20px 36px;border:1px dashed var(--border-strong);border-radius:12px;background:#ffffff05;cursor:pointer;transition:all .4s ease;position:relative;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.nfc-card:hover{border-style:solid;border-color:var(--accent);box-shadow:var(--glow);background:#6ee7ff0f}.nfc-icon{display:flex;align-items:center;justify-content:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.3em;color:var(--ink-dim);text-transform:uppercase}.nfc-card:hover .nfc-icon{color:var(--accent)}.nfc-ring{width:14px;height:14px;border-radius:50%;border:2px solid currentColor;animation:ringPulse 2s ease-in-out infinite}@keyframes ringPulse{0%,to{box-shadow:0 0 #6ee7ff80}50%{box-shadow:0 0 0 8px #6ee7ff00}}.activation-canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center}.activation-node{position:absolute;width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px var(--accent);opacity:0}.activation-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform-origin:left center;opacity:0}.activation-text{position:relative;z-index:2;opacity:0}.tutorial-card{opacity:0;transform:translateY(20px)}.tutorial-icons{display:flex;gap:24px;margin-top:48px}.tut-icon{width:48px;height:48px;border:1px solid var(--border);border-radius:8px;display:flex;align-items:center;justify-content:center;color:var(--ink-dim);position:relative}.tut-icon.glow{border-color:var(--accent);color:var(--accent);box-shadow:var(--glow)}.theme-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;max-width:1200px;width:100%;margin-top:48px}.theme-card{position:relative;padding:32px 28px;border:1px solid var(--border);border-radius:4px;background:linear-gradient(180deg,#ffffff05,#fff0);cursor:pointer;overflow:hidden;transition:all .5s cubic-bezier(.2,.8,.2,1);min-height:200px;display:flex;flex-direction:column;justify-content:space-between}.theme-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 30% 0%,rgba(110,231,255,.12),transparent 70%);opacity:0;transition:opacity .5s}.theme-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:var(--glow-soft)}.theme-card:hover:before{opacity:1}.theme-num{font-family:JetBrains Mono,monospace;font-size:11px;color:var(--ink-faint);letter-spacing:.25em}.theme-title{font-size:22px;font-weight:400;margin-top:16px;letter-spacing:-.01em}.theme-focus{margin-top:8px;font-size:13px;color:var(--ink-dim);line-height:1.5}.theme-value{margin-top:20px;font-family:JetBrains Mono,monospace;font-size:11px;color:var(--accent);letter-spacing:.15em;text-transform:uppercase;opacity:0;transform:translateY(6px);transition:all .4s}.theme-card:hover .theme-value{opacity:1;transform:translateY(0)}.mode-banner{padding:40px 60px;border:1px solid var(--border-strong);background:linear-gradient(180deg,#6ee7ff0f,#6ee7ff00);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;border-radius:4px}.mode-label{font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase}.mode-name{font-size:44px;font-weight:300;letter-spacing:-.02em;margin-top:12px}.mode-desc{font-size:13px;color:var(--ink-dim);margin-top:10px}.scenario-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;width:100%;max-width:1400px;align-items:center}.scenario-brief{padding:32px;border-left:2px solid var(--accent)}.scenario-tag{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.3em;color:var(--accent);text-transform:uppercase}.scenario-title{font-size:clamp(22px,2.3vw,32px);font-weight:300;margin-top:16px;line-height:1.25;letter-spacing:-.01em}.scenario-meta{margin-top:24px;display:flex;gap:32px}.scenario-metric{display:flex;flex-direction:column;gap:6px}.metric-label{font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-faint);letter-spacing:.2em;text-transform:uppercase}.metric-value{font-size:18px;color:var(--ink);font-weight:400}.metric-value.alert{color:#ff9b6b}.metric-value.good{color:var(--accent)}.decisions{display:flex;flex-direction:column;gap:14px}.decision-card{position:relative;padding:22px 24px;border:1px solid var(--border);border-radius:4px;background:linear-gradient(180deg,#ffffff05,#fff0);cursor:pointer;transition:all .4s cubic-bezier(.2,.8,.2,1);display:flex;gap:18px;align-items:flex-start;overflow:hidden}.decision-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--accent);transform:scaleY(0);transform-origin:center;transition:transform .4s}.decision-card:hover{border-color:var(--border-strong);transform:translate(6px);background:#6ee7ff0a}.decision-card:hover:before{transform:scaleY(1)}.decision-letter{font-family:JetBrains Mono,monospace;font-size:14px;color:var(--accent);letter-spacing:.1em;padding-top:2px;min-width:20px}.decision-text{font-size:15px;line-height:1.4;color:var(--ink);font-weight:400}.tiles-wrap{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-top:32px}.tile{position:relative;width:180px;padding:20px;border:1px solid var(--border-strong);border-radius:4px;background:linear-gradient(180deg,#6ee7ff0f,#6ee7ff03);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:grab;transition:transform .25s ease,box-shadow .25s ease;-webkit-user-select:none;user-select:none;box-shadow:0 0 20px #6ee7ff1a}.tile:hover{box-shadow:var(--glow);transform:translateY(-3px)}.tile.dragging{cursor:grabbing;opacity:.5}.tile.placed{cursor:default}.tile-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#6ee7ff33,#7c9cff1a);display:flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--accent)}.tile-name{font-size:14px;font-weight:500;letter-spacing:-.01em}.tile-fn{margin-top:6px;font-size:11px;color:var(--ink-dim);line-height:1.4}.quadrant-stage{display:grid;grid-template-columns:1fr 260px;gap:40px;width:100%;max-width:1300px;align-items:center}.quadrant{position:relative;aspect-ratio:1.1 / 1;max-height:72vh;border:1px solid var(--border);background:linear-gradient(180deg,rgba(110,231,255,.02),transparent),linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px) 0 0 / 100% 50%,linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px) 0 0 / 50% 100%;border-radius:4px}.quadrant-axis-x,.quadrant-axis-y{position:absolute;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;color:var(--ink-faint);text-transform:uppercase}.quadrant-axis-x{bottom:-28px;left:0;right:0;display:flex;justify-content:space-between}.quadrant-axis-y{top:0;bottom:0;left:-28px;display:flex;flex-direction:column;justify-content:space-between;writing-mode:vertical-rl;transform:rotate(180deg)}.quadrant-labels{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;pointer-events:none}.q-label{padding:16px;font-size:11px;color:var(--ink-faint);font-family:JetBrains Mono,monospace;letter-spacing:.2em;text-transform:uppercase;transition:color .4s}.q-label.tl{align-self:start;justify-self:start}.q-label.tr{align-self:start;justify-self:end;color:var(--accent)}.q-label.bl{align-self:end;justify-self:start}.q-label.br{align-self:end;justify-self:end}.drop-zone{position:absolute;border:1px dashed transparent;transition:all .3s}.drop-zone.active{border-color:var(--accent);background:#6ee7ff0d}.placed-tile{position:absolute;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent);transform:translate(-50%,-50%);pointer-events:none}.placed-tile:after{content:attr(data-name);position:absolute;top:16px;left:50%;transform:translate(-50%);white-space:nowrap;font-size:10px;color:var(--ink-dim);font-family:JetBrains Mono,monospace;letter-spacing:.1em}.tile-sidebar{display:flex;flex-direction:column;gap:14px}.sidebar-title{font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.3em;color:var(--ink-dim);text-transform:uppercase;margin-bottom:4px}.indicators{margin-top:24px;display:flex;flex-direction:column;gap:10px}.indicator{display:flex;align-items:center;gap:10px;font-family:JetBrains Mono,monospace;font-size:10px;color:var(--ink-faint);letter-spacing:.15em;text-transform:uppercase;transition:color .4s}.indicator.on{color:var(--accent)}.indicator-dot{width:6px;height:6px;border-radius:50%;background:var(--ink-faint);transition:all .4s}.indicator.on .indicator-dot{background:var(--accent);box-shadow:0 0 10px var(--accent)}.insight-formula{display:flex;align-items:center;gap:16px;flex-wrap:wrap;justify-content:center;margin:24px 0}.formula-part{padding:10px 18px;border:1px solid var(--border-strong);background:#6ee7ff0f;border-radius:3px;font-family:JetBrains Mono,monospace;font-size:12px;letter-spacing:.1em;color:var(--accent)}.formula-op{color:var(--ink-dim);font-size:18px;font-weight:300}.formula-result{padding:12px 24px;background:linear-gradient(120deg,var(--accent),var(--accent-2));color:#041018;border-radius:3px;font-weight:600;font-size:13px;letter-spacing:.1em;text-transform:uppercase}.positioning-quadrant{position:relative;width:min(72vh,70vw);aspect-ratio:1 / 1;border:1px solid var(--border);border-radius:4px;cursor:crosshair}.position-dot{position:absolute;width:28px;height:28px;border-radius:50%;background:radial-gradient(circle,var(--accent),var(--accent-2));box-shadow:0 0 40px var(--accent);transform:translate(-50%,-50%);cursor:grab;z-index:3}.position-dot.placed{cursor:default}.positioning-quadrant .q-label.tr{color:var(--accent-3)}.progress-rail{position:fixed;top:28px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:10}.rail-dot{width:24px;height:2px;background:var(--ink-faint);transition:all .4s;opacity:.4}.rail-dot.current{background:var(--accent);box-shadow:0 0 8px var(--accent);opacity:1;width:40px}.rail-dot.done{background:var(--accent-2);opacity:.7}.brand{position:fixed;top:28px;left:36px;font-family:JetBrains Mono,monospace;font-size:11px;letter-spacing:.3em;color:var(--ink-dim);z-index:10;text-transform:uppercase}.brand span{color:var(--accent)}.reset{position:fixed;top:28px;right:36px;font-family:JetBrains Mono,monospace;font-size:10px;letter-spacing:.2em;color:var(--ink-faint);background:none;border:none;cursor:pointer;z-index:10;text-transform:uppercase;transition:color .3s}.reset:hover{color:var(--accent)}.constellation{position:relative;width:min(80vh,70vw);aspect-ratio:1 / 1;margin:0 auto}.const-node{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent);transform:translate(-50%,-50%)}.const-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform-origin:left center;opacity:.4}.deep-dive{position:absolute;top:0;right:0;bottom:0;left:0;overflow-y:auto;padding:80px 8vw;background:linear-gradient(180deg,#03060df2,#03060d);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.dd-section{max-width:900px;margin:0 auto 80px}.dd-section h3{font-size:28px;font-weight:300;letter-spacing:-.01em;margin-bottom:20px}.dd-section p{color:var(--ink-dim);line-height:1.7;font-size:15px;max-width:65ch}.dd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:24px}.dd-metric{padding:24px;border:1px solid var(--border);border-radius:4px;background:#ffffff05}.dd-metric-num{font-size:32px;font-weight:300;background:linear-gradient(120deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}.dd-metric-label{margin-top:8px;color:var(--ink-dim);font-size:13px}.dd-close{position:fixed;top:28px;right:36px;z-index:20}.fade-in{animation:fadeIn .8s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.accent{color:var(--accent)}.spacer-32{height:32px}.spacer-64{height:64px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-1)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px}
