:root{--ink: #0e0d16;--panel: #17151f;--panel-hi: #1f1b2b;--line: #2a2740;--text: #e9e8f2;--muted: #8d8aa0;--faint: #575466;--signal: #a789fe;--signal-dim: #55429c;--danger: #d16d78;--ok: #6e9b8c;--depth-0: #a789fe;--depth-1: #6e9b8c;--depth-2: #7d89b0;--depth-3: #b0708a;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--radius: 3px}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}code,.mono{font-family:var(--mono)}:focus-visible{outline:2px solid var(--signal);outline-offset:1px;border-radius:var(--radius)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}button{font-family:inherit;font-size:inherit}a{color:var(--signal)}.app{display:flex;flex-direction:column;height:100vh}.header{display:flex;align-items:center;gap:20px;padding:12px 20px;border-bottom:1px solid var(--line);flex-wrap:wrap;position:relative;z-index:10;background:var(--ink)}.header__brand{display:flex;align-items:center;gap:8px;flex-shrink:0}.header__mark{width:20px;height:20px;display:block;flex-shrink:0}.header__title{font-weight:600;letter-spacing:.02em}.landing__banner{width:100%;max-width:520px;height:auto;border-radius:var(--radius);border:1px solid var(--line);margin-bottom:4px}.header__form{display:flex;gap:8px;flex:1 1 320px;min-width:220px}.header__input{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);padding:7px 10px;font-size:13px}.header__input::placeholder{color:var(--faint)}.header__submit{background:var(--signal);color:var(--ink);border:none;border-radius:var(--radius);padding:7px 16px;font-weight:600;cursor:pointer}.header__submit:disabled{background:var(--signal-dim);color:var(--muted);cursor:not-allowed}.header__status{display:flex;gap:8px;flex-wrap:wrap}.status-badge{font-size:12px;padding:4px 8px;border-radius:var(--radius);background:var(--panel);color:var(--muted);border:1px solid var(--line);white-space:nowrap}.status-badge--ok{color:var(--ok);border-color:var(--ok)}.status-badge--error{color:var(--danger);border-color:var(--danger)}.landing{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.landing__inner{display:flex;flex-direction:column;align-items:center;gap:16px}.landing__hint{max-width:420px;text-align:center;color:var(--muted);font-size:14px}.landing__sample{background:transparent;border:1px solid var(--line);color:var(--signal);border-radius:var(--radius);padding:7px 14px;font-size:12.5px;cursor:pointer}.landing__sample:hover{border-color:var(--signal)}.landing__sample--file{display:inline-block}.workspace{flex:1;display:grid;grid-template-columns:1.1fr 1.4fr 1fr;min-height:0}.workspace__pane{overflow-y:auto;border-right:1px solid var(--line)}.workspace__pane:last-child{border-right:none}.pane{padding:16px}.pane--empty{display:flex;align-items:center;justify-content:center;height:100%;padding:24px}.empty-hint{color:var(--faint);font-size:13px}.call-tree{padding:8px 0}.tree-row{display:flex;align-items:center;gap:8px;width:100%;background:transparent;border:none;color:var(--text);text-align:left;padding:5px 12px 5px 0;cursor:pointer;font-size:12.5px}.tree-row:hover{background:var(--panel)}.tree-row--selected{background:var(--panel-hi)}.depth-rail{display:flex;gap:2px;flex-shrink:0}.depth-tick{width:4px;height:16px;border-radius:1px}.tree-row__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-row__badge{flex-shrink:0;font-size:10px;color:var(--faint);border:1px solid var(--line);border-radius:var(--radius);padding:1px 5px}.detail-header{margin-bottom:16px}.detail-title{font-size:13px;color:var(--text);word-break:break-all}.detail-sub{font-size:12px;color:var(--muted);margin-top:2px}.detail-block{margin-bottom:20px}.detail-block__label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-bottom:8px}.detail-block__body{font-size:13px}.detail-block__body--muted{color:var(--muted);font-size:12.5px;line-height:1.6}.call-chain{margin-top:6px;font-size:12px;color:var(--muted)}.call-chain__frame{color:var(--text)}.call-chain__arrow{color:var(--faint)}.register-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:4px 12px}.register-cell{display:flex;justify-content:space-between;font-size:12px;padding:3px 0;border-bottom:1px solid var(--line)}.register-cell__name{color:var(--muted)}.register-cell__value{color:var(--text)}.var-list{display:flex;flex-direction:column;gap:10px}.var-row{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:8px 10px}.var-row__head{display:flex;justify-content:space-between;gap:8px;margin-bottom:4px}.var-row__name{font-weight:600;font-size:12.5px}.var-row__type{font-size:11px;color:var(--muted)}.var-row__value{font-size:12.5px;color:var(--signal);word-break:break-all}.var-row__raw{color:var(--muted)}@media (max-width: 860px){.workspace{grid-template-columns:1fr;grid-auto-rows:minmax(200px,auto);overflow-y:auto}.workspace__pane{border-right:none;border-bottom:1px solid var(--line);overflow-y:visible}}.hero{position:relative;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scroll-behavior:smooth}.hero__spacer{height:100%;min-height:100%;scroll-snap-align:start}.stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;overflow:hidden;pointer-events:none}.stage__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(120% 90% at 50% 42%,#150b2e,#0a0714 72%);background-color:#0a0714;transition:background .8s ease}.stage[data-state="2"] .stage__bg{background:radial-gradient(120% 100% at 72% 52%,#1c1046,#0a0714 76%)}.horizon{position:absolute;left:50%;bottom:0;z-index:1;width:170vw;min-width:1100px;height:44vh;min-height:280px;transform:translate(-50%);transition:opacity .7s ease}.horizon svg{width:100%;height:100%;display:block;overflow:visible}.horizon .pulse{animation:wt-arc-pulse 3.6s ease-in-out infinite}@keyframes wt-arc-pulse{0%,to{opacity:.55}50%{opacity:1}}.stage[data-state="2"] .horizon{opacity:.25}.stage__orbit{position:absolute;top:42%;left:70%;width:30vw;height:17vw;transform:translate(-50%,-50%) rotate(-22deg);border-radius:50%;border:2px solid rgba(190,150,255,0);opacity:0;transition:opacity .7s ease,border-color .7s ease,box-shadow .7s ease}.stage[data-state="2"] .stage__orbit{opacity:1;border-color:#be96ff80;box-shadow:0 0 60px #966eff38}.coin{position:absolute;top:50%;left:50%;z-index:5;transition:transform .75s cubic-bezier(.22,.61,.36,1),opacity .6s ease}.coin__drift,.coin__bob{will-change:transform}.coin img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 40px rgba(10,5,30,.55))}.coin--left{width:clamp(84px,10vw,138px)}.coin--small{width:clamp(56px,6.5vw,100px)}.coin--right{width:clamp(140px,18vw,240px)}.coin--left .coin__bob{animation:wt-floatA 5.2s ease-in-out infinite}.coin--small .coin__bob{animation:wt-floatB 4.2s ease-in-out .9s infinite}.coin--right .coin__bob{animation:wt-floatC 6s ease-in-out .4s infinite}@keyframes wt-floatA{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-11px) rotate(3.5deg)}}@keyframes wt-floatB{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(9px) rotate(-3deg)}}@keyframes wt-floatC{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(-2.5deg)}}.stage[data-state="0"] .coin--left,.stage[data-state="1"] .coin--left{transform:translate(calc(-50% - 34vw),calc(-50% - 15vh)) rotate(-8deg)}.stage[data-state="0"] .coin--small,.stage[data-state="1"] .coin--small{transform:translate(calc(-50% - 22vw),calc(-50% + 22vh)) rotate(6deg)}.stage[data-state="0"] .coin--right,.stage[data-state="1"] .coin--right{transform:translate(calc(-50% + 33vw),calc(-50% + 8vh)) rotate(-6deg)}.stage[data-state="2"] .coin--right{transform:translate(calc(-50% + 24vw),calc(-50% + 2vh)) rotate(-8deg) scale(1.08)}.stage[data-state="2"] .coin--left{transform:translate(calc(-50% + 12vw),calc(-50% + 12vh)) rotate(-4deg) scale(.92)}.stage[data-state="2"] .coin--small{opacity:0}.lockup{position:absolute;top:50%;left:50%;z-index:10;width:min(46vw,560px);height:auto;transform:translate(-50%,-50%) scale(1);transition:transform .75s cubic-bezier(.22,.61,.36,1);filter:drop-shadow(0 6px 30px rgba(120,80,240,.35))}.stage[data-state="1"] .lockup{transform:translate(-50%,calc(-50% - 9vh)) scale(.66)}.stage[data-state="2"] .lockup{transform:translate(calc(-50% - 28vw),calc(-50% - 26vh)) scale(.34)}.tagline{position:absolute;top:50%;left:50%;z-index:10;margin:0;width:min(80vw,900px);text-align:center;font-family:Space Grotesk,IBM Plex Sans,system-ui,sans-serif;font-weight:500;font-size:clamp(22px,3.4vw,46px);line-height:1.14;letter-spacing:-.015em;background:linear-gradient(100deg,#fff 15%,#a99bc7 85%);-webkit-background-clip:text;background-clip:text;color:transparent;opacity:0;transform:translate(-50%,calc(-50% + 10vh));transition:opacity .65s ease,transform .7s cubic-bezier(.22,.61,.36,1);pointer-events:none}.stage[data-state="1"] .tagline{opacity:1;transform:translate(-50%,calc(-50% + 4vh))}.stage[data-state="2"] .tagline{opacity:1;width:min(42vw,620px);text-align:left;transform:translate(calc(-50% - 27vw),calc(-50% - 6vh))}.cta{position:absolute;top:62%;left:50%;z-index:12;transform:translate(-50%) translateY(14px);white-space:nowrap;display:inline-block;font-family:Space Grotesk,IBM Plex Sans,system-ui,sans-serif;font-weight:500;font-size:15.5px;color:#fff;text-decoration:none;padding:13px 26px;border-radius:999px;border:1px solid rgba(169,155,199,.35);background:linear-gradient(180deg,#7c3aed47,#7c3aed1a);cursor:pointer;opacity:0;pointer-events:none;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .5s ease,transform .5s ease,border-color .2s ease,background .2s ease}.cta:hover{border-color:#b794f6cc;background:linear-gradient(180deg,#7c3aed73,#7c3aed2e)}.stage[data-state="1"] .cta--sample,.stage[data-state="2"] .cta--file{opacity:1;transform:translate(-50%) translateY(0);pointer-events:auto}.scroll-hint{position:absolute;bottom:6%;left:50%;z-index:10;transform:translate(-50%);color:#6f6690;font-size:11px;letter-spacing:.24em;text-transform:uppercase;transition:opacity .4s ease}.stage[data-state="1"] .scroll-hint,.stage[data-state="2"] .scroll-hint{opacity:0}.scroll-hint__arrow{display:inline-block;animation:wt-bob 1.8s ease-in-out infinite}@keyframes wt-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}@media (prefers-reduced-motion: reduce){.hero{scroll-behavior:auto}.coin__bob,.horizon .pulse,.scroll-hint__arrow{animation:none}.stage__bg,.horizon,.stage__orbit,.coin,.lockup,.tagline,.cta{transition-duration:.2s!important}}
