body.app{background:radial-gradient(60% 40% at 50% -5%, #ff8f1f0d, transparent 60%), var(--bg)}.builder-wrap{max-width:1320px;padding-bottom:140px}.head-actions{flex-wrap:wrap;gap:6px;display:flex}.builder{grid-template-columns:minmax(0,1fr) 400px;align-items:start;gap:28px;display:grid}.builder-main{flex-direction:column;gap:14px;min-width:0;display:flex}.sec{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffff05;transition:border-color .3s,box-shadow .6s}.sec.flash{border-color:#ff8f1f8c;box-shadow:0 0 0 4px #ff8f1f14}.sec.has-error{border-color:#ff3b5c66}.sec-head{cursor:pointer;text-align:left;border-radius:var(--radius-lg);background:0 0;border:0;align-items:center;gap:14px;width:100%;padding:18px 22px;display:flex}.sec-head:hover .sec-title{color:var(--text)}.sec-num{font-family:var(--mono);color:var(--dim);flex:none;width:22px;font-size:12px}.sec-title{letter-spacing:-.02em;color:#e6e6e1;font-size:17px;font-weight:600}.sec-sum{color:var(--muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;max-width:55%;margin-left:auto;font-size:13.5px;overflow:hidden}.sec-sum.set{color:var(--lime)}.sec-chev{color:var(--dim);transition:transform .3s var(--ease);flex:none}.sec.open .sec-chev{transform:rotate(180deg)}.sec-body{flex-direction:column;gap:16px;padding:4px 22px 22px;display:none}.sec.open .sec-body{display:flex}.sec-help{color:var(--muted);margin:-6px 0 0;font-size:14px}.opts{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.opt{border:1px solid var(--line);background:var(--panel);cursor:pointer;text-align:left;border-radius:14px;flex-direction:column;gap:4px;min-height:78px;padding:13px 14px;transition:border-color .2s,background .2s;display:flex;position:relative}.opt:hover{border-color:var(--line-2)}.opt.on{background:#ff8f1f0f;border-color:#ff8f1f99}.opt b{align-items:center;gap:6px;font-size:14px;font-weight:500;display:flex}.opt small{color:var(--muted);font-size:12.5px;line-height:1.4}.opt .tag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--lime-soft);color:var(--lime);border-radius:5px;padding:2px 6px;font-size:10px}.opt .tag.route{color:#9db8ff;background:#7aa2ff1f}.row{background:var(--panel);border:1px solid var(--line);border-radius:16px;flex-wrap:wrap;align-items:center;gap:8px;padding:14px;font-size:14.5px;display:flex}.row .input,.row .select{border-radius:10px;height:36px;font-size:14px}.row .input.num{width:92px}.row .grow{flex:1;min-width:160px}.row .rm{width:32px;height:32px;color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;margin-left:auto;display:grid}.row .rm:hover{color:var(--live);background:#ff3b5c1a}.row .word{color:var(--muted)}.row .lbl{font-weight:500}.unit{align-items:center;display:inline-flex;position:relative}.unit .input{padding-right:26px}.unit[data-unit=SOL] .input,.unit[data-unit=min] .input{padding-right:40px}.row .unit[data-unit=SOL] .input.num,.row .unit[data-unit=min] .input.num{width:112px}.row .unit[data-unit=SOL] .input.sm,.row .unit[data-unit=min] .input.sm{width:96px}.unit:after{content:attr(data-unit);color:var(--dim);pointer-events:none;font-size:13px;position:absolute;right:10px}.row-sub{border-top:1px dashed var(--line);flex-wrap:wrap;flex-basis:100%;align-items:center;gap:8px;margin-top:4px;padding-top:8px;display:flex}.adds{flex-wrap:wrap;gap:6px;display:flex}.check{color:var(--muted);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:7px;font-size:13.5px;display:inline-flex}.check input{accent-color:var(--lime);width:15px;height:15px}.src-row .ic-wrap{background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.src-badge{font-family:var(--mono);color:var(--muted);background:#ffffff0f;border-radius:6px;padding:3px 7px;font-size:11px}.meta-grid{grid-template-columns:112px 1fr 1fr;align-items:start;gap:14px;display:grid}.meta-grid .full{grid-column:2/-1}.img-drop{border:1px dashed var(--line-2);cursor:pointer;background:var(--panel);border-radius:22px;grid-row:span 2;place-items:center;width:112px;height:112px;display:grid;position:relative;overflow:hidden}.img-drop img,.img-drop svg{object-fit:cover;width:100%;height:100%}.img-drop span{text-align:center;color:#ffffffbf;text-shadow:0 1px 4px #0009;font-size:11px;position:absolute;bottom:6px;left:0;right:0}.templates{scrollbar-width:none;gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.templates::-webkit-scrollbar{display:none}.tpl{border:1px solid var(--line);background:var(--panel);cursor:pointer;transition:border-color .2s, transform .2s var(--ease);text-align:left;border-radius:14px;flex:none;align-items:center;gap:10px;padding:10px 14px 10px 10px;display:flex}.tpl:hover{border-color:var(--line-2);transform:translateY(-2px)}.tpl .ic-wrap{background:var(--lime-soft);width:34px;height:34px;color:var(--lime);border-radius:10px;flex:none;place-items:center;display:grid}.tpl b{font-size:13.5px;font-weight:500;display:block}.tpl small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:210px;font-size:12px;display:block;overflow:hidden}.split{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.formula{font-family:var(--mono);min-height:80px;font-size:13.5px}.rail{flex-direction:column;gap:12px;max-height:calc(100vh - 100px);display:flex;position:sticky;top:84px}.rail-tabs{align-self:flex-start}.panel{border:1px solid var(--line);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#0d0d12cc;flex-direction:column;min-height:0;display:flex}.chat{flex:1;min-height:0}.chat-log{flex-direction:column;flex:1;gap:10px;min-height:240px;max-height:calc(100vh - 330px);padding:18px;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;border-radius:16px;max-width:92%;padding:11px 14px;font-size:14px;line-height:1.5}.msg.me{background:var(--panel-2);border:1px solid var(--line-2);border-bottom-right-radius:6px;align-self:flex-end}.msg.ai{background:#ff8f1f12;border:1px solid #ff8f1f33;border-bottom-left-radius:6px;align-self:flex-start}.msg.ai ul{margin:6px 0 0;padding-left:18px}.msg.thinking{color:var(--muted)}.msg.thinking:after{content:"";vertical-align:bottom;width:18px;animation:1.2s steps(4,end) infinite dots;display:inline-block;overflow:hidden}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}.chat-form{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:12px;display:flex}.chat-form textarea{resize:none;border-radius:14px;height:64px;font-size:14px}.chat-form .row2{align-items:center;gap:8px;display:flex}.sugg{flex-wrap:wrap;gap:6px;display:flex}.sugg button{border:1px solid var(--line-2);color:var(--muted);cursor:pointer;background:0 0;border-radius:99px;padding:5px 10px;font-size:12px}.sugg button:hover{color:var(--text);border-color:#ffffff4d}.preview{gap:16px;max-height:calc(100vh - 160px);padding:18px;overflow-y:auto}.preview h4{font-size:12px;font-family:var(--mono);color:var(--dim);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px;font-weight:500}.sum-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sum-list li{gap:10px;font-size:14px;line-height:1.45;display:flex}.sum-list li svg{color:var(--lime);flex:none;margin-top:2px}.budget{flex-direction:column;gap:6px;display:flex}.budget .bar{background:#ffffff0f;border-radius:99px;height:6px;overflow:hidden}.budget .bar i{background:var(--lime);height:100%;transition:width .4s var(--ease), background .3s;border-radius:99px;display:block}.budget .bar i.hot{background:var(--warn)}.budget .bar i.over{background:var(--live)}.issue{cursor:pointer;border-radius:12px;gap:8px;padding:9px 11px;font-size:13px;line-height:1.45;display:flex}.issue.error{color:#ff9db0;background:#ff3b5c14}.issue.warn{color:#ffc978;background:#ffd04d14}.issue svg{flex:none;margin-top:2px}.sim{flex-direction:column;gap:10px;display:flex}.sim-row{grid-template-columns:1fr 74px;align-items:center;gap:4px 10px;font-size:13px;display:grid}.sim-row label{color:var(--muted)}.sim-row output{font-family:var(--mono);text-align:right;font-size:12.5px}.sim-row input[type=range]{accent-color:var(--lime);grid-column:1/-1;width:100%}.sim-out{grid-template-columns:1fr 1fr;gap:8px;display:grid}.sim-out div{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:12px;padding:10px 12px;font-size:12.5px}.sim-out b{color:var(--text);font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;font-weight:500;display:block}.sim-out b.ok{color:var(--ok)}.sim-out b.no{color:var(--live)}.launchbar{z-index:40;border:1px solid var(--line-2);-webkit-backdrop-filter:blur(16px)saturate(1.4);backdrop-filter:blur(16px)saturate(1.4);background:#111117db;border-radius:999px;align-items:center;gap:16px;max-width:calc(100vw - 24px);padding:10px 10px 10px 18px;font-size:13.5px;display:flex;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 20px 60px #00000080}.launchbar .lb-coin{align-items:center;gap:10px;min-width:0;display:flex}.launchbar .lb-coin b{white-space:nowrap;text-overflow:ellipsis;max-width:160px;overflow:hidden}.launchbar .lb-stat{color:var(--muted);white-space:nowrap}.launchbar .lb-stat b{color:var(--text);font-weight:500}.modal{border:1px solid var(--line-2);color:var(--text);background:#0e0e14;border-radius:26px;width:min(620px,100vw - 32px);max-height:calc(100vh - 48px);padding:0}.modal::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009}.modal-body{flex-direction:column;gap:18px;padding:28px;display:flex}.modal-head{align-items:center;gap:14px;display:flex}.modal-head h2{font-size:26px}.kv{grid-template-columns:auto 1fr;gap:8px 18px;font-size:14px;display:grid}.kv span:nth-child(odd){color:var(--muted)}.steps{flex-direction:column;gap:8px;display:flex}.stepline{background:var(--panel);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:12px 14px;font-size:14px;display:flex}.stepline .st{font-family:var(--mono);color:var(--dim);margin-left:auto;font-size:12px}.stepline.done .st{color:var(--ok)}.stepline.run .st{color:var(--lime)}.stepline.fail .st{color:var(--live)}@media (width<=1100px){.builder{grid-template-columns:1fr}.rail{order:-1;max-height:none;position:relative;top:0}.chat-log{max-height:320px}.preview{max-height:none}}@media (width<=640px){.meta-grid{grid-template-columns:1fr}.meta-grid .full{grid-column:auto}.img-drop{grid-row:auto}.sec-head{padding:16px}.sec-body{padding:4px 16px 16px}.sec-sum{display:none}.split{grid-template-columns:1fr}.launchbar .lb-stat{display:none}}.row .lbl{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.row .input.sm{width:86px}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.sugg button{text-align:left}.seg button{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}@media (width<=1100px){.chat-log{min-height:120px}}.issue.ok{color:var(--text,#e8e8ea);cursor:default;background:#ff8f1f0f}.issue.ok svg{color:var(--lime,#ff8f1f)}.formula-out{flex-direction:column;gap:6px;margin:10px 0;display:flex}.formula-out .btn{align-self:flex-start;margin-top:4px}.formula-out small{font-size:12px}.opt.off{opacity:.45;cursor:not-allowed}.opt.off:hover{border-color:var(--line)}.opt .off-note{color:var(--warn);margin-top:6px;font-size:12px;display:block}
