:root{--bg:#f4f1e8;--ink:#32413d;--muted:#465652a3;--soft:#8bb4a733;--panel:#fffdf7f5;--panel-ink:#2f3e3a;--panel-muted:#72807a;--label:#fffdf7d1;--accent:#88bdaa;--font-body:"PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono:"SF Mono", Menlo, Consolas, monospace;color:var(--ink);background:var(--bg);font-family:var(--font-body);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:var(--bg);min-width:320px;min-height:100svh;margin:0;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}h1,h2,p,pre{margin:0}#root{min-height:100svh}.gravity-app{background:radial-gradient(circle at 22% 16%,#ffdfbe94,#0000 18rem),radial-gradient(circle at 78% 20%,#c2e4d8bd,#0000 20rem),radial-gradient(circle at 50% 72%,#cdd7f46b,#0000 28rem),linear-gradient(#fbf7ed 0%,#eef5ee 48%,#e9f1f4 100%);min-height:100svh;position:relative;overflow:hidden}.starfield-layer,.starfield-layer:before,.starfield-layer:after{pointer-events:none;position:absolute;inset:0}.starfield-layer{opacity:.46;background-image:radial-gradient(circle,#749f9138 0 .8px,#0000 1.5px),radial-gradient(circle,#d39f7a29 0 1.1px,#0000 1.8px);background-position:23px 51px,117px 163px;background-size:231px 197px,347px 293px}.starfield-layer:before{content:"";opacity:.34;background-image:radial-gradient(circle,#749f912e 0 1.3px,#0000 2px);background-position:173px 71px;background-size:419px 367px}.starfield-layer:after{content:"";background:radial-gradient(circle at 50% 42%,#ffffff47 0 20rem,#0000 42rem),linear-gradient(#fff3,#e8f1ee80)}.hero-copy{z-index:5;text-align:center;padding-top:18px;position:relative}.hero-copy p{color:#3d4e48b8;letter-spacing:.02em;font-size:16px;font-weight:600}.hero-copy h1{color:#3d4e48b8;margin-top:32px;font-size:0}.galaxy-stage{z-index:2;width:min(700px,94vw);height:min(620px,100svh - 160px);min-height:460px;margin:8px auto 0;position:relative}.nebula-refresh{z-index:6;color:#394d46a3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffdf78a;border:1px solid #81a89a2e;border-radius:999px;min-height:30px;padding:0 12px;font-size:11px;font-weight:800;position:absolute;top:8px;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #6f857e14}.constellation-lines{opacity:.68;filter:drop-shadow(0 0 5px #84b1a033);width:84%;height:84%;position:absolute;inset:8%}.constellation-lines path{fill:none;stroke:url(#constellation-fade);stroke-linecap:round;stroke-width:.28px;opacity:.72}.constellation-lines path.is-captured{stroke:#589781b8;opacity:1}.galaxy-orb{transform-style:preserve-3d;border-radius:50%;position:absolute;inset:8%}.galaxy-orb:before,.galaxy-orb:after{content:"";border:1px solid #80a4971f;border-radius:50%;position:absolute;inset:12%}.galaxy-orb:after{border-color:#d39f7a1a;inset:28%;transform:scaleX(1.08)rotate(-6deg)}.galaxy-orb:has(.planet-node:nth-of-type(n+10)):before{border-radius:46% 54% 49% 51%;inset:17% 10%;transform:rotate(8deg)}.galaxy-orb:has(.planet-node:nth-of-type(n+10)):after{border-radius:54% 46% 57% 43%;inset:31% 23%;transform:rotate(-12deg)}.center-orb{z-index:4;color:#32413d;background:radial-gradient(circle at 42% 32%,#fffffff2,#0000 12%),radial-gradient(circle,#aad3c3f0 0 26%,#eecfa9d1 27% 52%,#fffcf3f5 53%);border:1px solid #fffffff5;border-radius:50%;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #ffffff80,0 0 34px #8bbeab47,0 18px 42px #6f857e33}.center-orb span{color:#41524c;background:var(--label);text-overflow:ellipsis;white-space:nowrap;border:1px solid #81a89a47;border-radius:8px;max-width:88px;padding:4px 8px;font-size:11px;font-weight:700;position:absolute;bottom:-27px;left:50%;overflow:hidden;transform:translate(-50%)}.planet-node{z-index:3;color:#32413d;background:radial-gradient(circle at 38% 30%, #fffffff5, transparent 13%), radial-gradient(circle, color-mix(in srgb, var(--node-accent) 72%, #fff 28%) 0 44%, #fffcf3f5 45%);box-shadow:0 0 0 3px #ffffff7a, 0 0 18px color-mix(in srgb, var(--node-accent) 28%, transparent), 0 12px 28px #69807729;animation:nodeArrival .36s cubic-bezier(.2, .8, .2, 1) var(--node-delay,0s) both;border:1px solid #ffffffeb;border-radius:50%;place-items:center;padding:0;transition:transform .16s,box-shadow .16s,border-color .16s;display:grid;position:absolute;transform:translate(-50%,-50%)}.planet-node:hover,.planet-node.is-captured,.planet-node:focus-visible{z-index:6;box-shadow:0 0 0 5px #ffffff9e, 0 0 24px color-mix(in srgb, var(--node-accent) 38%, transparent);border-color:#fff;transform:translate(-50%,-50%)scale(1.04)}.planet-face{background:radial-gradient(circle,#fffffff5 0 16%,#0000 18%),radial-gradient(circle,#0000 0 42%,#5b807442 44% 48%,#0000 50%);border-radius:50%;place-items:center;width:58%;height:58%;display:grid}.planet-face span{width:22%;height:22%;box-shadow:0 0 0 5px color-mix(in srgb, var(--node-accent) 38%, transparent), 0 0 18px color-mix(in srgb, var(--node-accent) 62%, transparent);background:#ffffffeb;border-radius:50%}.planet-label{color:#3e4f49e0;opacity:.72;pointer-events:none;text-overflow:ellipsis;white-space:nowrap;background:#fffdf7c7;border:1px solid #81a89a38;border-radius:7px;max-width:66px;padding:3px 7px;font-size:10px;font-weight:700;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 5px);left:50%;overflow:hidden;transform:translate(-50%)translateY(4px)}.planet-node.distance-far{opacity:.82}.planet-node.distance-far .planet-label{opacity:.58}.planet-node:hover .planet-label,.planet-node.is-captured .planet-label,.planet-node:focus-visible .planet-label{opacity:1;transform:translate(-50%)translateY(0)}.planet-node.format .planet-label{top:auto;bottom:calc(100% + 5px);transform:translate(-50%)translateY(-4px)}.planet-node.format:hover .planet-label,.planet-node.format.is-captured .planet-label,.planet-node.format:focus-visible .planet-label{transform:translate(-50%)translateY(0)}.canvas-controls{z-index:7;pointer-events:none;justify-items:center;gap:10px;width:min(470px,100vw - 28px);display:grid;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.field-entry{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:auto;background:linear-gradient(#fffdf7d1,#fffdf79e),#fffdf7b8;border:1px solid #81a89a38;border-radius:999px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;width:min(460px,100%);min-height:48px;padding:7px 8px 7px 14px;display:grid;box-shadow:0 18px 48px #6f857e24,inset 0 1px #ffffffb8}.field-entry span{color:#42544e8f;letter-spacing:.02em;white-space:nowrap;font-size:12px;font-weight:700}.field-entry input{color:#2f3e3a;background:0 0;border:0;outline:none;min-width:0}.field-entry button,.card-action,.card-secondary{text-align:center;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:34px;padding:0 14px;font-size:13px;font-weight:700;line-height:1;display:inline-flex}.field-entry button,.card-action{color:#fffdf7;background:#5f927f;box-shadow:0 8px 18px #5f927f2e}.field-entry button:disabled,.center-orb:disabled,.card-secondary:disabled{cursor:wait;opacity:.7}.generation-note{color:#42544e94;pointer-events:auto;background:#fffdf76b;border:1px solid #81a89a24;border-radius:999px;max-width:min(420px,100%);margin:-2px 0 0;padding:5px 10px;font-size:12px;font-weight:700}.graph-trail{z-index:7;overscroll-behavior-x:contain;scrollbar-width:none;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf78f;border:1px solid #81a89a29;border-radius:999px;align-items:center;gap:6px;max-width:min(720px,100vw - 420px);padding:6px;display:flex;position:fixed;top:18px;left:18px;overflow-x:auto;box-shadow:0 12px 30px #6f857e1a}.graph-trail::-webkit-scrollbar{display:none}.graph-trail button,.graph-trail-current{color:#3c4e48b3;text-align:center;background:#fffdf775;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:26px;padding:0 10px;font-size:12px;font-weight:800;line-height:1;transition:color .16s,background .16s,box-shadow .16s,transform .16s;display:inline-flex}.graph-trail-step{flex:none;align-items:center;display:inline-flex}.graph-trail-step i{color:#5f927f75;margin-left:6px;font-size:14px;font-style:normal}.graph-trail-current{color:#fffdf7;background:#5f927fd1;flex:none;animation:.18s ease-out both currentTrailIn;box-shadow:0 8px 18px #5f927f2e,inset 0 1px #ffffff38}.app-switcher{z-index:8;color:#374843c7;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdf7b3;border:1px solid #81a89a2e;border-radius:999px;align-items:center;gap:3px;padding:4px;font-size:12px;font-weight:800;display:flex;position:fixed;top:18px;right:18px;box-shadow:0 12px 30px #6f857e1a}.app-switcher button{color:#374843ad;text-align:center;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.app-switcher button:first-child{background:#81a89a1f}.app-switcher span{color:#75a18f;font-size:15px}.trail-backdrop{z-index:19;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#485b541f;position:fixed;inset:0}.captured-trail{color:#30413b;background:#fffdf7f0;border:1px solid #81a89a33;border-radius:24px;width:min(330px,100vw - 36px);max-height:calc(100svh - 36px);padding:20px;animation:.18s ease-out both trailIn;position:absolute;top:18px;right:18px;overflow:auto;box-shadow:0 30px 80px #53655e38}.captured-trail header{justify-content:space-between;align-items:center;gap:18px;display:flex}.captured-trail header span{font-size:17px;font-weight:800}.captured-trail header p{color:#394d4680;margin-top:3px;font-size:12px}.captured-trail header button,.captured-trail li>button{color:#394d469e;background:#81a89a1f;border:0;border-radius:50%;width:28px;height:28px;font-size:18px;line-height:1}.captured-trail ol{gap:2px;margin:18px 0;padding:0;list-style:none;display:grid}.captured-trail li{border-bottom:1px solid #81a89a1f;grid-template-columns:28px minmax(0,1fr) 28px;align-items:center;gap:10px;padding:10px 0;display:grid}.captured-trail li>span{color:#5f927f80;font-size:11px;font-weight:800}.captured-trail li div{gap:2px;display:grid}.captured-trail li strong{font-size:14px}.captured-trail li small{color:#394d467a;font-size:11px}.trail-generate{color:#fffdf7;text-align:center;background:#5f927f;border:0;border-radius:999px;justify-content:center;align-items:center;width:100%;min-height:44px;font-size:13px;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 12px 24px #5f927f33}.trail-generate:disabled{color:#394d467a;box-shadow:none;background:#81a89a1f}.trail-actions{grid-template-columns:.8fr 1.2fr;gap:8px;display:grid}.trail-actions>button:first-child{color:#394d46b8;text-align:center;background:#81a89a14;border:1px solid #81a89a33;border-radius:999px;justify-content:center;align-items:center;min-height:44px;font-size:12px;font-weight:800;line-height:1;display:inline-flex}.panel-empty{color:#394d467a;text-align:center;margin:28px 0;font-size:13px;line-height:1.7}.journey-list{gap:10px;margin-top:18px;display:grid}.journey-list article{background:#81a89a14;border:1px solid #81a89a1f;border-radius:16px;padding:14px}.journey-list article>div{gap:4px;display:grid}.journey-list article span,.journey-list article small{color:#394d467a;font-size:11px;font-weight:700}.journey-list article h3{color:#30413b;font-size:15px}.journey-list article p{color:#394d46ad;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.journey-list footer{gap:8px;margin-top:12px;display:flex}.journey-list footer button{color:#fffdf7;text-align:center;background:#6d9b8a;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:30px;padding:0 10px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.journey-list footer button:last-child{color:#394d468f;background:#fffdf7a3}.daily-inspiration{background:radial-gradient(circle at 88% 12%,#ffdfbe94,#0000 8rem),linear-gradient(145deg,#eff7f0eb,#fffaeff0);border:1px solid #81a89a2e;border-radius:20px;gap:12px;margin-top:20px;padding:20px;display:grid}.daily-inspiration>span{color:#5f927fb8;letter-spacing:.08em;font-size:11px;font-weight:800}.daily-inspiration h3{color:#30413b;font-size:19px}.daily-inspiration p{color:#394d46ad;font-size:13px;line-height:1.7}.daily-inspiration div{flex-wrap:wrap;gap:6px;display:flex}.daily-inspiration small{color:#557d6e;background:#fffdf7b8;border-radius:999px;padding:5px 8px;font-size:11px}.daily-inspiration button{color:#fffdf7;background:#6d9b8a;border:0;border-radius:999px;justify-content:center;align-items:center;min-height:38px;font-size:12px;font-weight:800;display:inline-flex}.daily-inspiration.is-empty{text-align:center}.profile-overlay,.seed-overlay{z-index:20;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#53655e38;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.profile-card,.seed-card{background:var(--panel);border-radius:24px;width:min(560px,100vw - 32px);animation:.18s ease-out both cardIn;position:relative;overflow:hidden;box-shadow:0 30px 90px #53655e47}.profile-card{width:min(420px,100vw - 32px)}.close-button{z-index:2;color:#fffdf7;background:#4358517a;border:0;border-radius:50%;width:32px;height:32px;font-size:22px;line-height:1;position:absolute;top:12px;right:12px}.profile-visual{background:radial-gradient(circle at 50% 38%, #ffffffe6, transparent 7rem), radial-gradient(circle at 50% 52%, color-mix(in srgb, var(--node-accent,#9fd6c1) 38%, transparent), transparent 11rem), linear-gradient(180deg, #fff8ea, #edf6f0);place-items:center;height:210px;display:grid}.profile-visual span{background:radial-gradient(circle at 42% 30%, #fffffff2, transparent 12%), radial-gradient(circle, color-mix(in srgb, var(--node-accent,#9fd6c1) 74%, #fff 26%) 0 38%, #fffcf3f0 39% 62%, transparent 63%);border-radius:50%;place-items:center;width:112px;height:112px;display:grid;position:relative;box-shadow:0 0 0 10px #ffffff6b,0 20px 48px #4c699a33}.profile-visual span:before,.profile-visual span:after{content:"";pointer-events:none;border-radius:50%;position:absolute}.profile-visual span:before{border:1px solid #557d6e24;inset:-18px}.profile-visual span:after{box-shadow:0 0 0 16px color-mix(in srgb, var(--node-accent,#9fd6c1) 22%, transparent), 0 0 42px color-mix(in srgb, var(--node-accent,#9fd6c1) 34%, transparent);background:#ffffffeb;inset:31px}.profile-visual span i{background:0 0;border:1px solid #ffffffb8;border-radius:50%;width:32px;height:32px}.profile-body,.seed-card{color:var(--panel-ink)}.profile-body{min-height:182px;padding:24px}.card-kicker{color:#1d243057;font-size:13px;font-weight:700}.profile-body h2,.seed-card h2{color:var(--panel-ink);margin-top:6px;font-size:24px;font-weight:800}.profile-body p,.seed-card p{color:var(--panel-muted);margin-top:10px;font-size:14px;line-height:1.7}.profile-body>small{color:#42544e7a;margin-top:8px;font-size:12px;line-height:1.5;display:block}.card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);gap:9px;margin-top:18px;display:grid}.card-action{color:#fffdf7;background:#5f927f}.card-secondary{color:#40514b;background:#eef4ed;border:0}.seed-card{max-height:calc(100svh - 44px);padding:26px;overflow:auto}.seed-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px;display:grid}.seed-trace{margin-top:16px}.seed-trace>span{color:#1d243070;font-size:12px;font-weight:800}.seed-trace div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.seed-trace div span{color:#394d46b3;background:#81a89a1a;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:700}.seed-plan{background:#f4f6ef;border-radius:14px;gap:8px;margin-top:16px;padding:14px;display:grid}.seed-plan>span{color:#1d243070;font-size:12px;font-weight:800}.seed-plan ol{color:#34453f;gap:5px;margin:0 0 6px;padding-left:20px;font-size:12px;line-height:1.55;display:grid}.seed-plan p{color:#34453f;margin:0;font-size:12px;line-height:1.6}.seed-meta div{background:#f4f6ef;border-radius:10px;padding:12px}.seed-meta span{color:#1d243070;font-size:12px;font-weight:800}.seed-meta p{color:#2f3e3a;margin-top:6px;font-size:13px}.seed-prompt pre{color:#34453f;max-height:220px;font-family:var(--font-mono);white-space:pre-wrap;background:#f7f5ed;border-radius:10px;margin-top:14px;padding:14px;font-size:12px;line-height:1.7;overflow:auto}.seed-card .card-action,.seed-card .card-secondary{margin-top:14px;margin-right:8px}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes trailIn{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}@keyframes currentTrailIn{0%{transform:translateY(1px)scale(.96)}to{transform:translateY(0)scale(1)}}@keyframes nodeArrival{0%{opacity:0;transform:translate(-50%,-50%)scale(.76)}to{transform:translate(-50%,-50%)scale(1)}}@media (prefers-reduced-motion:reduce){.planet-node,.graph-trail-current,.captured-trail,.profile-card,.seed-card{animation:none}}@media (width<=760px){.hero-copy{padding-top:14px}.hero-copy p{font-size:14px}.galaxy-stage{width:100vw;height:calc(100svh - 190px);min-height:470px;margin-top:0}.nebula-refresh{top:0}.galaxy-orb,.constellation-lines{width:96%;height:96%;inset:2%}.center-orb{width:46px;height:46px}.planet-label{max-width:58px;font-size:10px}.canvas-controls{gap:8px;bottom:14px}.field-entry{width:min(420px,100vw - 28px)}.graph-trail{max-width:calc(100vw - 28px);top:58px;left:14px}.app-switcher{top:14px;right:14px}.captured-trail{width:100%;max-height:min(70svh,620px);padding:22px 20px calc(20px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0;animation-name:cardIn;inset:auto 0 0}.profile-overlay{place-items:center;padding:20px}.profile-card{border-radius:24px;width:min(340px,100vw - 40px);max-height:calc(100svh - 40px);overflow:auto}.profile-visual{height:124px}.profile-visual span{width:72px;height:72px}.profile-visual span:before{inset:-12px}.profile-visual span:after{inset:20px}.profile-body{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.seed-meta{grid-template-columns:1fr}.seed-overlay{align-items:end;padding:0}.seed-card{width:100%;max-height:90svh;padding:24px 20px calc(24px + env(safe-area-inset-bottom));border-radius:26px 26px 0 0}}
