.CodeMirror{font-family:monospace;height:300px;color:#000;direction:ltr}.CodeMirror-lines{padding:4px 0}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{padding:0 4px}.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{background-color:#fff}.CodeMirror-gutters{border-right:1px solid #ddd;background-color:#f7f7f7;white-space:nowrap}.CodeMirror-linenumber{padding:0 3px 0 5px;min-width:20px;text-align:right;color:#999;white-space:nowrap}.CodeMirror-guttermarker{color:#000}.CodeMirror-guttermarker-subtle{color:#999}.CodeMirror-cursor{border-left:1px solid black;border-right:none;width:0}.CodeMirror div.CodeMirror-secondarycursor{border-left:1px solid silver}.cm-fat-cursor .CodeMirror-cursor{width:auto;border:0!important;background:#7e7}.cm-fat-cursor div.CodeMirror-cursors{z-index:1}.cm-fat-cursor .CodeMirror-line::selection,.cm-fat-cursor .CodeMirror-line>span::selection,.cm-fat-cursor .CodeMirror-line>span>span::selection{background:transparent}.cm-fat-cursor .CodeMirror-line::-moz-selection,.cm-fat-cursor .CodeMirror-line>span::-moz-selection,.cm-fat-cursor .CodeMirror-line>span>span::-moz-selection{background:transparent}.cm-fat-cursor{caret-color:transparent}@-moz-keyframes blink{50%{background-color:transparent}}@-webkit-keyframes blink{50%{background-color:transparent}}@keyframes blink{50%{background-color:transparent}}.cm-tab{display:inline-block;text-decoration:inherit}.CodeMirror-rulers{position:absolute;inset:-50px 0 0;overflow:hidden}.CodeMirror-ruler{border-left:1px solid #ccc;top:0;bottom:0;position:absolute}.cm-s-default .cm-header{color:#00f}.cm-s-default .cm-quote{color:#090}.cm-negative{color:#d44}.cm-positive{color:#292}.cm-header,.cm-strong{font-weight:700}.cm-em{font-style:italic}.cm-link{text-decoration:underline}.cm-strikethrough{text-decoration:line-through}.cm-s-default .cm-keyword{color:#708}.cm-s-default .cm-atom{color:#219}.cm-s-default .cm-number{color:#164}.cm-s-default .cm-def{color:#00f}.cm-s-default .cm-variable-2{color:#05a}.cm-s-default .cm-variable-3,.cm-s-default .cm-type{color:#085}.cm-s-default .cm-comment{color:#a50}.cm-s-default .cm-string{color:#a11}.cm-s-default .cm-string-2{color:#f50}.cm-s-default .cm-meta,.cm-s-default .cm-qualifier{color:#555}.cm-s-default .cm-builtin{color:#30a}.cm-s-default .cm-bracket{color:#997}.cm-s-default .cm-tag{color:#170}.cm-s-default .cm-attribute{color:#00c}.cm-s-default .cm-hr{color:#999}.cm-s-default .cm-link{color:#00c}.cm-s-default .cm-error,.cm-invalidchar{color:red}.CodeMirror-composing{border-bottom:2px solid}div.CodeMirror span.CodeMirror-matchingbracket{color:#0b0}div.CodeMirror span.CodeMirror-nonmatchingbracket{color:#a22}.CodeMirror-matchingtag{background:rgba(255,150,0,.3)}.CodeMirror-activeline-background{background:#e8f2ff}.CodeMirror{position:relative;overflow:hidden;background:white}.CodeMirror-scroll{overflow:scroll!important;margin-bottom:-50px;margin-right:-50px;padding-bottom:50px;height:100%;outline:none;position:relative;z-index:0}.CodeMirror-sizer{position:relative;border-right:50px solid transparent}.CodeMirror-vscrollbar,.CodeMirror-hscrollbar,.CodeMirror-scrollbar-filler,.CodeMirror-gutter-filler{position:absolute;z-index:6;display:none;outline:none}.CodeMirror-vscrollbar{right:0;top:0;overflow-x:hidden;overflow-y:scroll}.CodeMirror-hscrollbar{bottom:0;left:0;overflow-y:hidden;overflow-x:scroll}.CodeMirror-scrollbar-filler{right:0;bottom:0}.CodeMirror-gutter-filler{left:0;bottom:0}.CodeMirror-gutters{position:absolute;left:0;top:0;min-height:100%;z-index:3}.CodeMirror-gutter{white-space:normal;height:100%;display:inline-block;vertical-align:top;margin-bottom:-50px}.CodeMirror-gutter-wrapper{position:absolute;z-index:4;background:none!important;border:none!important}.CodeMirror-gutter-background{position:absolute;top:0;bottom:0;z-index:4}.CodeMirror-gutter-elt{position:absolute;cursor:default;z-index:4}.CodeMirror-gutter-wrapper ::selection{background-color:transparent}.CodeMirror-gutter-wrapper ::-moz-selection{background-color:transparent}.CodeMirror-lines{cursor:text;min-height:1px}.CodeMirror pre.CodeMirror-line,.CodeMirror pre.CodeMirror-line-like{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;border-width:0;background:transparent;font-family:inherit;font-size:inherit;margin:0;white-space:pre;word-wrap:normal;line-height:inherit;color:inherit;z-index:2;position:relative;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-font-variant-ligatures:contextual;font-variant-ligatures:contextual}.CodeMirror-wrap pre.CodeMirror-line,.CodeMirror-wrap pre.CodeMirror-line-like{word-wrap:break-word;white-space:pre-wrap;word-break:normal}.CodeMirror-linebackground{position:absolute;inset:0;z-index:0}.CodeMirror-linewidget{position:relative;z-index:2;padding:.1px}.CodeMirror-rtl pre{direction:rtl}.CodeMirror-code{outline:none}.CodeMirror-scroll,.CodeMirror-sizer,.CodeMirror-gutter,.CodeMirror-gutters,.CodeMirror-linenumber{-moz-box-sizing:content-box;box-sizing:content-box}.CodeMirror-measure{position:absolute;width:100%;height:0;overflow:hidden;visibility:hidden}.CodeMirror-cursor{position:absolute;pointer-events:none}.CodeMirror-measure pre{position:static}div.CodeMirror-cursors{visibility:hidden;position:relative;z-index:3}div.CodeMirror-dragcursors,.CodeMirror-focused div.CodeMirror-cursors{visibility:visible}.CodeMirror-selected{background:#d9d9d9}.CodeMirror-focused .CodeMirror-selected{background:#d7d4f0}.CodeMirror-crosshair{cursor:crosshair}.CodeMirror-line::selection,.CodeMirror-line>span::selection,.CodeMirror-line>span>span::selection{background:#d7d4f0}.CodeMirror-line::-moz-selection,.CodeMirror-line>span::-moz-selection,.CodeMirror-line>span>span::-moz-selection{background:#d7d4f0}.cm-searching{background-color:#ffa;background-color:#ff06}.cm-force-border{padding-right:.1px}@media print{.CodeMirror div.CodeMirror-cursors{visibility:hidden}}.cm-tab-wrap-hack:after{content:""}span.CodeMirror-selectedtext{background:none}.CodeMirror-hints{position:absolute;z-index:10;overflow:hidden;list-style:none;margin:0;padding:2px;-webkit-box-shadow:2px 3px 5px rgba(0,0,0,.2);-moz-box-shadow:2px 3px 5px rgba(0,0,0,.2);box-shadow:2px 3px 5px #0003;border-radius:3px;border:1px solid silver;background:white;font-size:90%;font-family:monospace;max-height:20em;overflow-y:auto;box-sizing:border-box}.CodeMirror-hint{margin:0;padding:0 4px;border-radius:2px;white-space:pre;color:#000;cursor:pointer}li.CodeMirror-hint-active{background:#08f;color:#fff}.app{display:flex;flex-direction:column;height:100%}.topbar{padding:12px 16px;border-bottom:1px solid var(--border);background:var(--bg-card)}.topbar h1{margin:0;font-size:16px}.topbar p{margin:4px 0 0;color:var(--text-muted);font-size:12px}.banner{margin:0;padding:8px 16px;border-bottom:1px solid var(--border);background:rgba(248,113,113,.09);font-size:12px}.panes{flex:1;display:grid;grid-template-columns:260px 6px 1fr 6px 320px;min-height:0}.splitter{cursor:col-resize;background:var(--border);border:0;transition:background .15s}.splitter:hover,.splitter:focus-visible{background:var(--accent);outline:none}body.resizing,body.resizing *{cursor:col-resize!important;user-select:none}.pane{min-height:0;overflow:auto;border-right:1px solid var(--border)}.pane:last-child{border-right:0}.pane>header{display:flex;align-items:baseline;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-card)}.pane h2{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.palette .count{color:var(--text-muted);font-size:11px}.palette .filter{width:calc(100% - 24px);margin:10px 12px;padding:6px 8px;background:var(--bg-sunk);border:1px solid var(--border);border-radius:4px;color:var(--text-main);font-size:12px}.palette ul{list-style:none;margin:0;padding:0 6px 12px}.palette li{display:flex;gap:4px;align-items:stretch}.palette .insert{flex:1;text-align:left;padding:5px 6px;background:none;border:0;border-radius:3px;color:var(--text-muted);font-family:var(--mono);font-size:11px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.palette .insert:hover{background:var(--bg-sunk);color:var(--text-main)}.palette .inspect{width:22px;background:none;border:0;color:var(--text-muted);cursor:pointer}.palette .inspect:hover{color:var(--accent)}.palette .empty,.palette .hint{padding:8px 12px;color:var(--text-muted);font-size:11px}.editor{overflow:hidden}.editor .CodeMirror{height:100%;background:#00000042;color:var(--text-main);font-family:var(--mono);font-size:13px}.editor .CodeMirror-gutters{background:var(--bg-card);border-right:1px solid var(--border)}.editor .CodeMirror-linenumber{color:#475569}.editor .CodeMirror-activeline-background{background:rgba(59,130,246,.07)}.editor .CodeMirror-cursor{border-left-color:var(--accent)}.editor .CodeMirror .cm-keyword{color:#e86fc0}.editor .CodeMirror .cm-comment{color:#5fb477;font-style:italic}.editor .CodeMirror .cm-supplier,.editor .CodeMirror .cm-protocol,.editor .CodeMirror .cm-type{color:#7fa6f0}.editor .CodeMirror .cm-string{color:#e0a45c}.editor .CodeMirror .cm-number,.editor .CodeMirror .cm-constant,.editor .CodeMirror .cm-contributor{color:#b5cc5c}.editor .CodeMirror .cm-label{color:#d6deea}.editor .CodeMirror .cm-literal-string,.editor .CodeMirror .cm-label.cm-literal-string{color:#e0a45c}.editor .CodeMirror .cm-literal-integer,.editor .CodeMirror .cm-label.cm-literal-integer{color:#b5cc5c}.editor .CodeMirror .cm-operator{color:#e5a05d}.editor .CodeMirror .cm-arrow{color:#8a93a6}.editor .CodeMirror .cm-colon,.editor .CodeMirror .cm-comma{color:#6b7688}.editor .CodeMirror .cm-todo{color:#f87171;font-weight:600}.editor .CodeMirror .cm-bracket{color:#8a93a6}.editor .CodeMirror .cm-dollar{color:#c8d0dc;font-weight:600}.editor .CodeMirror .cm-bracket.cm-brace-0,.editor .CodeMirror .cm-dollar.cm-brace-0{color:#e8c468}.editor .CodeMirror .cm-bracket.cm-brace-1,.editor .CodeMirror .cm-dollar.cm-brace-1{color:#9a8cf5}.editor .CodeMirror .cm-bracket.cm-brace-2,.editor .CodeMirror .cm-dollar.cm-brace-2{color:#4fc1a6}.editor .CodeMirror .cm-bracket.cm-brace-3,.editor .CodeMirror .cm-dollar.cm-brace-3{color:#f0836a}.editor .CodeMirror-matchingbracket{color:inherit!important;background:rgba(59,130,246,.25);border-bottom:1px solid var(--accent)}.output{padding-bottom:16px}.output dl{display:grid;grid-template-columns:1fr auto;gap:4px 12px;margin:12px;font-size:12px}.output dt{color:var(--text-muted)}.output dd{margin:0;text-align:right;font-family:var(--mono)}.output .total{font-weight:600;color:var(--text-main);border-top:1px solid var(--border);padding-top:6px}.output .note{margin:8px 12px;color:var(--text-muted);font-size:11px;line-height:1.5}.terms-inline{margin:10px 12px!important;padding:8px 10px;background:rgba(248,113,113,.06);border-left:2px solid var(--bad);color:var(--text-main)!important}.terms-inline strong{color:var(--bad)}.output .error{margin:8px 12px;padding:8px;background:rgba(248,113,113,.08);border-left:2px solid var(--bad);color:var(--bad);font-size:11px;white-space:pre-wrap;max-height:220px;overflow:auto}.offlist{margin:6px 0;padding-left:16px;font-family:var(--mono);font-size:10px;word-break:break-all}.output .error .retry{display:block;margin:8px 0 0}.invoice{width:calc(100% - 24px);margin:6px 12px;border-collapse:collapse;font-size:11px}.invoice td{padding:3px 4px;border-bottom:1px solid var(--border)}.invoice .pos{color:#475569;font-family:var(--mono);width:44px}.invoice .reason{font-family:var(--mono);color:var(--text-muted);word-break:break-all}.invoice .amount{text-align:right;font-family:var(--mono);white-space:nowrap}.invoice .excluded{opacity:.45}.side-section{margin:16px 12px 0;padding-top:12px;border-top:1px solid var(--border)}.side-section h3{margin:0 0 6px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.side-section h4{margin:10px 0 4px;font-size:10px;color:var(--text-muted);font-weight:500}.side-section.protocol{min-height:96px}.side-section.hints{min-height:56px}.side-section .placeholder{margin:0;color:#475569;font-size:11px;line-height:1.5}.protocol-name{display:block;font-family:var(--mono);font-size:11px;color:var(--accent);word-break:break-all}.protocol-desc{margin:6px 0 0;color:var(--text-muted);font-size:11px;line-height:1.55;white-space:pre-wrap}.md .md-p{margin:0 0 6px}.md .md-p:last-child{margin-bottom:0}.md .md-h{margin:8px 0 4px;color:var(--text-main);font-weight:600}.md .md-ul{margin:4px 0 6px;padding-left:16px}.md .md-ul li{margin:2px 0}.md code{padding:0 3px;background:var(--bg-main);border-radius:3px;font-family:var(--mono);font-size:.95em;color:var(--text-main);word-break:break-all}.md strong{color:var(--text-main)}.protocol-handles{margin:0;padding:0;list-style:none}.protocol-handles li{display:flex;gap:10px;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--text-muted);padding:2px 0;border-bottom:1px solid var(--border)}.protocol-of{text-align:right;color:#475569;word-break:break-all}button.primary,a.primary{display:block;width:calc(100% - 24px);margin:12px;padding:10px;background:var(--accent);border:0;border-radius:5px;color:#fff;font-size:13px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}button.primary:disabled{background:var(--bg-sunk);color:#475569;cursor:not-allowed}button.link{margin:6px 12px;padding:0;background:none;border:0;color:var(--accent);font-size:11px;cursor:pointer}.CodeMirror-hints{z-index:60;max-height:18em;padding:4px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0006;font-family:var(--mono);font-size:12px}.CodeMirror-hint{display:flex;gap:12px;justify-content:space-between;padding:4px 8px;border-radius:3px;color:var(--text-muted)}li.CodeMirror-hint-active{background:var(--accent);color:#fff}li.CodeMirror-hint-active .hint-match{color:var(--good)}.hint-layer{color:#ffffffbf}.hint-name{white-space:nowrap}.hint-match{color:var(--good)}li.CodeMirror-hint-active .hint-match{color:#fff}.hint-layer{color:#475569;font-size:10px}.editor-tip{position:fixed;z-index:70;max-width:460px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #00000073;font-size:11px;line-height:1.5;pointer-events:none}.tip-title{font-family:var(--mono);font-size:12px;color:var(--text-main)}.tip-full{font-family:var(--mono);font-size:10px;color:#475569;word-break:break-all}.tip-value{margin:6px 0 2px;padding:4px 6px;background:var(--bg-main);border-radius:3px;font-family:var(--mono);font-size:12px;color:var(--text-main);word-break:break-all}.tip-desc{margin-top:6px;color:var(--text-muted);max-height:9em;overflow:hidden}.tip-section{margin:8px 0 3px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.tip-handles{margin:0;padding:0;list-style:none}.tip-handles li{display:flex;gap:12px;justify-content:space-between;font-family:var(--mono);font-size:10px}.tip-proto-inline{color:var(--text-muted);text-align:right}.tip-prices{margin:0;padding:0;list-style:none}.tip-prices li{display:flex;gap:12px;justify-content:space-between;padding:2px 0;font-family:var(--mono);font-size:10px;color:var(--text-muted)}.tip-sat{color:var(--good);white-space:nowrap}.tip-args{display:flex;flex-wrap:wrap;gap:4px 8px;margin-top:6px;font-family:var(--mono)}.tip-arg{color:var(--text-muted)}.tip-arg.current{color:var(--text-main);font-weight:600;border-bottom:2px solid var(--accent)}.tip-proto{margin-top:6px;font-family:var(--mono);font-size:10px;color:var(--accent)}.overlay{position:fixed;inset:0;display:grid;place-items:center;padding:16px;background:rgba(11,18,32,.85);overflow:auto}.overlay>section{width:100%;max-width:420px;padding:20px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px}.overlay h2{margin:0 0 14px;font-size:15px}.pay{text-align:center}.pay .qr{display:inline-block;padding:10px;background:#fff;border-radius:6px}.pay .amount{margin:12px 0 4px;font-family:var(--mono);font-size:20px}button.copy{display:block;width:100%;margin:10px 0 0;padding:9px;background:transparent;border:1px solid var(--accent);border-radius:5px;color:var(--accent);font-size:13px;font-weight:600;cursor:pointer}button.copy:hover{background:rgba(59,130,246,.12)}button.copy.secondary{margin-top:6px;padding:7px;border-color:var(--border);color:var(--text-muted);font-weight:500;font-size:12px}button.copy.secondary:hover{background:var(--bg-sunk);color:var(--text-main)}.pay .address{display:block;margin-top:10px;color:var(--text-muted);font-size:10px;word-break:break-all;user-select:all}.pay .terms{margin:14px 0 6px;padding:10px;background:rgba(248,113,113,.07);border-left:2px solid var(--bad);color:var(--text-main);font-size:12px;text-align:left;line-height:1.5}.pay .note{color:var(--text-muted);font-size:11px}.rejected .reason{margin:0 0 14px;padding:10px;background:rgba(248,113,113,.07);border-left:2px solid var(--bad);font-size:12px;line-height:1.5}.rejected .terms strong{color:var(--bad)}.rejected .terms{margin:0 0 10px;font-size:12px;line-height:1.5}.rejected .note{color:var(--text-muted);font-size:11px;line-height:1.5}.progress{height:3px;margin:0 0 14px;overflow:hidden;background:var(--bg-main);border-radius:2px}.progress .bar{display:block;height:100%;background:var(--accent)}.progress .running{width:35%;animation:travel 1.4s ease-in-out infinite}.progress .queued{width:100%;opacity:.3;animation:pulse 2s ease-in-out infinite}@keyframes travel{0%{transform:translate(-100%)}to{transform:translate(340%)}}@keyframes pulse{0%,to{opacity:.15}50%{opacity:.4}}@media (prefers-reduced-motion: reduce){.progress .bar{animation:none}.progress .running{width:100%;opacity:.4}}.build dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}.build dt{color:var(--text-muted)}.build dd{margin:0}.build .log{max-height:220px;margin:12px 0;padding:10px;overflow:auto;background:var(--bg-main);border:1px solid var(--border);border-radius:4px;font-size:10px;line-height:1.5;white-space:pre-wrap}.build .note{color:var(--text-muted);font-size:11px}.spec{max-width:560px!important;max-height:80vh;overflow:auto}.spec header{display:flex;gap:12px;align-items:baseline;justify-content:space-between;margin-bottom:12px}.spec header code{font-size:12px;word-break:break-all}.spec h3{margin:14px 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.spec .description{color:var(--text-muted);font-size:12px;line-height:1.6;white-space:pre-wrap}.handles{list-style:none;margin:0;padding:0}.handles li{display:flex;gap:10px;justify-content:space-between;padding:4px 0;border-bottom:1px solid var(--border);font-size:11px}.handle-name{font-family:var(--mono)}.handle-type{color:var(--text-muted);font-family:var(--mono);text-align:right}.toast{position:fixed;right:16px;bottom:16px;max-width:380px;padding:10px 14px;border-radius:5px;background:var(--bg-card);border:1px solid var(--bad);font-size:12px;cursor:pointer}.bad{color:var(--bad)}.good{color:var(--good)}.countdown{font-family:var(--mono)}@media (max-width: 900px){.panes{display:flex;flex-direction:column;grid-template-columns:none!important}.pane{border-right:0;border-bottom:1px solid var(--border)}.splitter,.palette{display:none}.editor{flex:0 0 auto;height:58vh}.output{flex:1 1 auto}.editor .CodeMirror{font-size:15px;line-height:1.5}.narrow-note{background:rgba(59,130,246,.09);color:var(--text-muted)}button.primary,a.primary,button.copy{padding:14px;font-size:15px}.overlay>section{max-width:100%}}:root{--bg-main: #0B1220;--bg-card: #101A2E;--bg-sunk: #151E32;--border: #1E293B;--text-main: #E2E8F0;--text-muted: #94A3B8;--accent: #3B82F6;--good: #34D399;--bad: #F87171;--mono: "Fira Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-main);color:var(--text-main);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px}code,pre{font-family:var(--mono)}
