:root{--bg: #0a0c0f;--bg-2: #0d1014;--panel: #0f1318;--panel-2: #111620;--line: rgba(255, 255, 255, .06);--line-strong: rgba(255, 255, 255, .12);--text: #dce2ea;--text-bright: #f0f4f8;--muted: #8a95a2;--faint: #5c6672;--dim: #444d58;--accent: #5bbda3;--accent-dim: rgba(91, 189, 163, .08);--accent-border: rgba(91, 189, 163, .18);--red: #e85d6f;--yellow: #d4a843;--yellow-dim: rgba(212, 168, 67, .08);--yellow-border: rgba(212, 168, 67, .18);--mono: "SF Mono", "Cascadia Code", "JetBrains Mono", Consolas, "Liberation Mono", monospace;--sans: "Satoshi", Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;--skeleton-bg: rgba(255, 255, 255, .05);--skeleton-shine: rgba(255, 255, 255, .1);--green: #4caf50;--tr: .18s cubic-bezier(.16, 1, .3, 1);--font-scale: 1}[data-theme=light]{--bg: #f7f6f2;--bg-2: #f2f1ed;--panel: #f9f8f5;--panel-2: #edecea;--line: rgba(0, 0, 0, .08);--line-strong: rgba(0, 0, 0, .15);--text: #28251d;--text-bright: #1a1815;--muted: #7a7974;--faint: #a09f9a;--dim: #bab9b4;--accent: #01696f;--accent-dim: rgba(1, 105, 111, .06);--accent-border: rgba(1, 105, 111, .18);--red: #c0392b;--yellow: #b8860b;--yellow-dim: rgba(184, 134, 11, .06);--yellow-border: rgba(184, 134, 11, .18);--green: #2e7d32;--skeleton-bg: rgba(0, 0, 0, .04);--skeleton-shine: rgba(0, 0, 0, .08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--sans);font-size:calc(var(--font-scale) * 14px);background:var(--bg);color:var(--text);transition:background var(--tr),color var(--tr);overflow:hidden;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,select,textarea{font:inherit;color:inherit}button{background:none;border:0;cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh}.app{display:grid;grid-template-columns:320px 380px minmax(0,1fr);flex:1;min-height:0}.col{min-width:0;display:flex;flex-direction:column;overflow:hidden}.col .head,.viewer-head{padding:14px 18px 12px;display:grid;gap:8px}.col .head .section-label,.viewer-head .section-label{padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:2px}.col+.col{border-left:1px solid var(--line)}.left{background:var(--bg)}.center{background:var(--bg-2)}.right{background:var(--bg)}.loading-skeleton{padding:14px;border-radius:6px;background:var(--skeleton-bg);border:1px solid var(--line);font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);color:var(--faint);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.error-boundary{padding:14px;border-radius:6px;background:#e85d6f14;border:1px solid rgba(232,93,111,.2);color:var(--red);font-family:var(--mono);font-size:calc(var(--font-scale) * 11px)}@media (max-width: 1200px){.app{grid-template-columns:280px 320px minmax(0,1fr)}}@media (max-width: 640px){.app{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.col+.col{border-left:none;border-top:1px solid var(--line)}.left{order:1}.center{order:2}.right{order:3}}.search-wrap{padding:8px 16px 10px;border-bottom:1px solid var(--line)}.search{display:flex;align-items:center;gap:8px;height:32px;padding:0 10px;border-radius:6px;background:#ffffff06;border:1px solid var(--line)}.search-icon{color:var(--dim);font-size:calc(var(--font-scale) * 13px);flex-shrink:0}.search input{width:100%;background:transparent;border:0;outline:none;color:var(--text);font-size:calc(var(--font-scale) * 12px);font-family:var(--mono)}.search input::placeholder{color:var(--dim)}.scroll{min-height:0;overflow:auto;flex:1}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:8px 12px;text-align:left;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.04)}.table th{font-family:var(--mono);font-size:calc(var(--font-scale) * 9px);letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:500;position:sticky;top:0;background:var(--bg);z-index:2;padding-top:10px;padding-bottom:8px}.table td{font-size:calc(var(--font-scale) * 12px);color:var(--muted)}.table .num{font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);color:var(--dim);font-variant-numeric:tabular-nums}.table .name-cell{color:var(--text);font-weight:500;font-size:calc(var(--font-scale) * 12px);max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.table .date{font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);color:var(--faint);font-variant-numeric:tabular-nums}.delete-cell{text-align:center}.delete-btn{cursor:pointer;font-size:calc(var(--font-scale) * 11px);padding:2px 4px;border-radius:4px;opacity:.5;transition:opacity .12s ease,background .12s ease}.delete-btn:hover{opacity:1;background:#e85d6f26}.table tbody tr{transition:background .1s ease;cursor:pointer}.table tbody tr:hover{background:#ffffff05}.table tbody tr.active{background:var(--accent-dim)}.table tbody tr.active .name-cell{color:var(--accent)}.table tbody tr.active .num{color:var(--accent);opacity:.7}.empty{padding:10px 12px;border-radius:6px;border:1px dashed rgba(255,255,255,.1);background:#ffffff03;font-size:calc(var(--font-scale) * 12px);color:var(--dim);font-family:var(--mono)}.center-scroll{flex:1;overflow:auto}.section{border-bottom:1px solid var(--line);padding:14px 16px;display:grid;gap:10px}.section:last-child{border-bottom:0}.section-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.section-info{display:grid;gap:3px;min-width:0}.section-label{font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);letter-spacing:.1em;text-transform:uppercase;color:var(--accent);font-weight:500}.section-title{font-size:calc(var(--font-scale) * 13px);font-weight:600;color:var(--text);line-height:1.3}.badge{font-family:var(--mono);font-size:calc(var(--font-scale) * 9px);letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;border:1px solid var(--line-strong);color:var(--faint);border-radius:4px;white-space:nowrap;font-weight:500}.field{display:grid;gap:5px}.field input,.field textarea,.field select{width:100%;min-height:34px;padding:7px 10px;border-radius:6px;background:#ffffff06;border:1px solid var(--line);color:var(--text);font-size:calc(var(--font-scale) * 12px);outline:none;transition:border-color .15s ease}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent-border)}.field input::placeholder,.field textarea::placeholder{color:var(--dim)}.field select{font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%235c6672' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.field select:disabled{opacity:.5;cursor:not-allowed;color:var(--dim)}.field select option{background:var(--panel);color:var(--text)}.small-label{font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.btn,.btn-ghost{height:30px;padding:0 12px;border:1px solid var(--line);border-radius:6px;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);letter-spacing:.02em;transition:all .12s ease;white-space:nowrap}.btn{background:var(--accent-dim);border-color:var(--accent-border);color:var(--accent);font-weight:600}.btn:hover{background:#5bbda324;border-color:#5bbda347}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:#ffffff05;color:var(--muted)}.btn-ghost:hover{background:#ffffff0d;color:var(--text)}.btn-danger{color:var(--red);border-color:#e85d6f26}.btn-danger:hover{background:#e85d6f14;border-color:#e85d6f40}.actions,.pick-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.hidden-input{display:none}.files{display:grid;gap:6px}.file-item{padding:8px 10px;border-radius:6px;border:1px solid rgba(255,255,255,.05);background:#ffffff04;display:flex;align-items:center;justify-content:space-between;gap:8px}.file-item .file-name{font-size:calc(var(--font-scale) * 12px);color:var(--text);font-weight:500}.file-item .file-size{font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);color:var(--dim)}.status-line{padding:8px 10px;border-radius:6px;background:#ffffff05;border:1px solid var(--line);font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);color:var(--faint);line-height:1.4}.debug-section{border-top:1px solid var(--line);padding:14px 16px;display:grid;gap:10px}.debug-label{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);font-weight:500}.debug-log{max-height:200px;overflow-y:auto;border-radius:6px;background:#ffffff05;border:1px solid var(--line);padding:8px}.debug-log-inner{display:grid;gap:4px}.log-entry{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);font-size:11px;line-height:1.5}.log-step{color:var(--dim);flex-shrink:0;min-width:18px;text-align:right;font-size:10px;opacity:.7}.log-ts{color:var(--dim);flex-shrink:0;min-width:60px}.log-msg{color:var(--muted);word-break:break-word}.log-pending .log-msg{color:var(--faint)}.log-ok .log-msg{color:var(--green)}.log-warn .log-msg{color:var(--yellow)}.log-err .log-msg{color:var(--red)}.log-active .log-msg{color:var(--accent)}.viewer-title{font-size:calc(var(--font-scale) * 18px);line-height:1.15;font-weight:700;color:var(--text-bright)}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.viewer-tabs{display:flex;flex-wrap:nowrap;justify-content:center;align-items:center;gap:2px;background:#ffffff08;border-radius:6px;padding:2px;border:1px solid var(--line)}.viewer-tabs>*{flex:0 0 auto;white-space:nowrap}.viewer-tab{height:28px;padding:0 14px;border:0;border-radius:4px;font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);letter-spacing:.04em;text-transform:uppercase;color:var(--faint);background:transparent;cursor:pointer;transition:all .12s ease;display:inline-flex;align-items:center;justify-content:center;line-height:28px}.viewer-tab:hover{color:var(--muted);background:#ffffff08}.viewer-tab.active{color:var(--text-bright);background:#ffffff0f}.viewer-tab.debug-tab{color:var(--faint)}.viewer-tab.debug-tab:hover{color:var(--muted)}.viewer-tab.debug-tab.active{color:var(--text-bright);background:#ffffff0f}.viewer-meta{font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);color:var(--dim);letter-spacing:.02em}.viewer-body{min-height:0;flex:1;display:flex;flex-direction:column;padding:14px 18px 18px;overflow:hidden}.viewer-pane{display:none;overflow:hidden}.viewer-pane.active{display:flex;flex:1;min-height:0}.raw,.rendered,.json-view{flex:1;min-height:0;overflow:auto;border-radius:6px;padding:14px;background:#ffffff05;border:1px solid var(--line)}.raw{font-family:var(--mono);white-space:pre-wrap;line-height:1.7;font-size:calc(var(--font-scale) * 11px);color:var(--muted);-moz-tab-size:2;tab-size:2}.rendered{font-family:var(--sans);font-size:calc(var(--font-scale) * 13px);line-height:1.65;color:var(--muted)}.rendered .md-body h1,.rendered .md-body h2,.rendered .md-body h3,.rendered .md-body h4,.rendered .md-body h5,.rendered .md-body h6{font-family:var(--sans);font-weight:700;line-height:1.2;color:var(--text-bright)}.rendered .md-body h1{font-size:calc(var(--font-scale) * 24px);margin-bottom:1.5rem;margin-top:0}.rendered .md-body h2{font-size:calc(var(--font-scale) * 18px);margin-top:2rem;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.rendered .md-body h3{font-size:calc(var(--font-scale) * 15px);margin-top:1.5rem;margin-bottom:.75rem}.rendered .md-body h4{font-size:calc(var(--font-scale) * 13px);font-weight:600;margin-top:1.25rem;margin-bottom:.5rem}.rendered .md-body p{margin-bottom:1rem}.rendered .md-body p:last-child{margin-bottom:0}.rendered .md-body strong{font-weight:700;color:var(--text)}.rendered .md-body em{font-style:italic}.rendered .md-body a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.rendered .md-body a:hover{color:var(--accent-hover)}.rendered .md-body ul,.rendered .md-body ol{padding-left:1.5rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.25rem}.rendered .md-body li{max-width:72ch}.rendered .md-body ul{list-style:disc}.rendered .md-body ol{list-style:decimal}.rendered .md-body blockquote{border-left:3px solid var(--accent);background:#ffffff05;padding:.75rem 1.25rem;border-radius:0 6px 6px 0;margin:1.5rem 0;color:var(--muted)}.rendered .md-body blockquote p{margin-bottom:0}.rendered .md-body code{font-family:var(--mono);font-size:.875em;background:#ffffff0d;border:1px solid var(--line);border-radius:4px;padding:.15em .4em;color:var(--text)}.rendered .md-body pre{background:#ffffff08;border:1px solid var(--line);border-radius:6px;overflow:hidden;margin:1.5rem 0}.rendered .md-body pre code{display:block;font-family:var(--mono);font-size:11px;line-height:1.7;padding:1rem;overflow-x:auto;background:transparent!important;border:none!important}.rendered .table-wrap{overflow-x:auto;margin:1.5rem 0;border-radius:6px;border:1px solid var(--line);-webkit-overflow-scrolling:touch}.rendered .table-wrap::-webkit-scrollbar{height:5px}.rendered .table-wrap::-webkit-scrollbar-track{background:#ffffff05}.rendered .table-wrap::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.rendered .md-body table{width:100%;border-collapse:collapse;font-size:calc(var(--font-scale) * 11px);white-space:nowrap}.rendered .md-body thead{background:#ffffff08;position:sticky;top:0;z-index:1}.rendered .md-body th{padding:6px 10px;text-align:left;font-weight:600;font-size:calc(var(--font-scale) * 10px);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:1px solid var(--line)}.rendered .md-body td{padding:6px 10px;border-bottom:1px solid rgba(255,255,255,.05);color:var(--text);vertical-align:middle}.rendered .md-body tbody tr:last-child td{border-bottom:none}.rendered .md-body tbody tr:hover{background:#ffffff05}.rendered .md-body hr{border:none;border-top:1px solid var(--line);margin:2.5rem 0}.rendered .md-body img{border-radius:6px;margin:1.5rem 0;max-width:100%}.json-container{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.json-toolbar{display:flex;align-items:center;gap:8px;padding:8px 0 12px;flex-wrap:wrap;position:sticky;top:0;background:var(--bg);z-index:10;border-bottom:1px solid var(--line);margin-bottom:0}.json-toolbar-btn{font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);letter-spacing:.02em;text-transform:uppercase;padding:4px 10px;border-radius:4px;border:1px solid var(--line);background:transparent;color:var(--muted);cursor:pointer;transition:all .12s ease}.json-toolbar-btn:hover{background:#ffffff0d;color:var(--text)}.json-search-wrap{display:flex;align-items:center;gap:6px;background:#ffffff08;border:1px solid var(--line);border-radius:4px;padding:4px 8px}.json-search-wrap svg{color:var(--dim);flex-shrink:0}.json-search{border:none;outline:none;background:transparent;font-family:var(--sans);font-size:calc(var(--font-scale) * 11px);color:var(--text);width:140px}.json-search::placeholder{color:var(--dim)}.json-match-count{font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);color:var(--muted);white-space:nowrap}.json-viewer-content{flex:1;min-height:0;overflow:auto;font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);line-height:1.65;background:#ffffff05;border:1px solid var(--line);border-radius:6px;padding:12px}.json-viewer-content::-webkit-scrollbar{width:6px;height:6px}.json-viewer-content::-webkit-scrollbar-track{background:transparent}.json-viewer-content::-webkit-scrollbar-thumb{background:var(--line);border-radius:99px}.json-node{display:block;position:relative}.json-node>.json-inner{padding-left:1.4em}.json-node.collapsed>.json-inner{display:none}.json-toggle{display:inline-flex;align-items:center;justify-content:center;width:1.1em;height:1.1em;border-radius:3px;cursor:pointer;color:var(--muted);vertical-align:middle;margin-right:.15em;flex-shrink:0;-webkit-user-select:none;user-select:none;background:none;border:none;transition:background .12s ease,color .12s ease,transform .12s ease}.json-toggle:hover{background:#ffffff0d;color:var(--text)}.json-toggle.collapsed{transform:rotate(-90deg)}.json-toggle svg{pointer-events:none}.json-spacer{display:inline-block;width:1.25em}.json-leaf,.json-line{display:block}.json-key{color:var(--text-bright);font-weight:500}.json-colon{color:var(--muted);margin:0 .2em}.json-bracket{color:var(--muted);font-weight:600}.json-string{color:var(--green)}.json-number{color:var(--yellow)}.json-boolean{color:var(--accent);font-style:italic}.json-null{color:var(--red);font-style:italic}.json-meta{color:var(--dim);font-size:.85em;margin-left:.4em}.json-preview{color:var(--muted);font-size:.85em}.json-highlight{background:#f5c0304d;border-radius:2px}.link-btn{height:26px;padding:0 10px;border:1px solid var(--line);border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:4px;font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);letter-spacing:.02em;text-transform:uppercase;transition:all .12s ease;white-space:nowrap;background:transparent;color:var(--muted)}.link-btn:hover{background:#ffffff0d;color:var(--text)}.link-btn.copied{color:var(--green);border-color:var(--green);background:#4caf501a}.actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.download-wrapper{position:relative}.download-menu{position:absolute;top:100%;right:0;margin-top:4px;background:var(--bg);border:1px solid var(--line);border-radius:6px;overflow:hidden;z-index:20;box-shadow:0 4px 12px #0000004d;min-width:160px}.download-menu-item{display:block;width:100%;padding:0 10px;height:26px;border:none;background:transparent;color:var(--muted);font-family:var(--mono);font-size:calc(var(--font-scale) * 10px);letter-spacing:.02em;text-transform:uppercase;text-align:left;cursor:pointer;transition:background .12s ease,color .12s ease;white-space:nowrap}.download-menu-item:hover{background:#ffffff0f;color:var(--text-bright)}.error-message{padding:12px;color:var(--red);font-family:var(--mono);font-size:calc(var(--font-scale) * 11px);background:#f443361a;border:1px solid var(--red);border-radius:6px;margin:8px 0}.top-bar{height:32px;padding:0 16px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0;z-index:100;font-size:11px;font-family:var(--mono);display:flex;align-items:center;justify-content:space-between}.top-bar-brand{color:var(--text);font-weight:600;letter-spacing:.02em;white-space:nowrap}.top-bar-brand-sep{color:var(--faint);margin:0 4px}.top-bar-right{display:flex;align-items:center;gap:8px}.top-bar-btn{width:26px;height:26px;border-radius:4px;border:1px solid var(--line);background:#ffffff05;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:all .12s ease}.top-bar-btn:hover{background:#ffffff0d;color:var(--text)}.top-bar-btn:disabled{opacity:.3;cursor:not-allowed}.top-bar-divider{width:1px;height:16px;background:var(--line)}.admin-badge{font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border:1px solid var(--yellow-border);color:var(--yellow);background:var(--yellow-dim);border-radius:4px}.font-size-display{font-family:var(--mono);font-size:11px;color:var(--muted);min-width:20px;text-align:center}
