.app-shell{width:min(1560px,calc(100vw - 28px));margin:0 auto;padding:14px 0 24px}.topbar,.panel{border:1px solid rgba(95,112,91,.14);background:linear-gradient(180deg,#ffffffeb,#f6f6f1f5),#ffffffe6;box-shadow:0 8px 24px #282b250f}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border-radius:18px;margin-bottom:12px}.panel-label{text-transform:uppercase;letter-spacing:.12em;font-size:.74rem;color:#7f7464}.topbar-title{display:flex;align-items:baseline;gap:10px}.topbar-title h1{margin:0;font-size:1rem;color:#20211d}.topbar-title>div{display:grid;gap:3px}.topbar-title p{margin:0;max-width:760px;color:#62645b;font-size:.82rem;line-height:1.35}.topbar-title span,.topbar-stats span,.toolbar-note{font-size:.84rem;color:#62645b}.topbar-stats{display:flex;flex-wrap:wrap;gap:10px}.composer-grid{display:grid;grid-template-columns:minmax(360px,.95fr) minmax(420px,1.2fr);gap:18px;align-items:start}.faq-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}.faq-item{border:1px solid rgba(95,112,91,.14);border-radius:18px;background:linear-gradient(180deg,#ffffffe6,#f6f6f1f2),#ffffffe6;box-shadow:0 8px 24px #282b250d;padding:14px 16px}.faq-item h2{margin:0 0 8px;font-size:.96rem;color:#20211d}.faq-item p{margin:0;color:#5f6259;font-size:.84rem;line-height:1.45}.panel{padding:16px;border-radius:22px}.panel-input,.panel-explorer{min-height:76vh}.panel-explorer{display:flex;flex-direction:column}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:10px}.panel-header h2{margin:4px 0 0;font-size:1.1rem;color:#20211d}.panel-badge{padding:10px 13px;border-radius:999px;background:#1d1e1b;color:#f5f4ee;font-size:.82rem;white-space:nowrap}.panel-badge.subtle{background:#efede3;color:#4d5047;border:1px solid rgba(125,116,96,.12)}.toolbar-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px}.toolbar-row-tight{margin-bottom:8px}.compact-label{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#7f7464;margin-right:4px}.analysis-strip{margin-bottom:12px;padding:10px 12px;border-radius:14px;background:#f6f3ea;border:1px solid rgba(125,116,96,.12)}.parse-strip{background:#eef4fb;border-color:#5f93d629}.analysis-track{width:100%;height:8px;border-radius:999px;background:#89847929;overflow:hidden}.analysis-bar{height:100%;border-radius:999px;background:linear-gradient(90deg,#5f93d6,#7a62d6);transition:width .22s ease}.parse-bar{background:linear-gradient(90deg,#4f8ed0,#5bb0c8)}.analysis-bar.done{background:linear-gradient(90deg,#679b63,#84b06d)}.analysis-meta{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:8px;font-size:.82rem;color:#64665d}.partial-note{margin-bottom:8px;font-size:.82rem;color:#5b6170;text-transform:uppercase;letter-spacing:.08em}.loading-inline{color:#6a6d63;font-size:.84rem}.primary-action,.upload-action,.ghost-action,.array-range-button,.load-more-button{border:0;border-radius:14px;padding:11px 15px;font-size:.92rem}.primary-action{background:#1f2220;color:#f7f5ef}.upload-action{background:linear-gradient(135deg,#d56a1f,#e29b38);color:#fffdf7;box-shadow:0 8px 18px #d56a1f3d;font-weight:700}.ghost-action,.array-range-button,.load-more-button{background:#efede6;color:#2d2f2a}.primary-action:hover{background:#131513}.upload-action:hover{background:linear-gradient(135deg,#bf5a18,#d98a28)}.ghost-action:hover,.array-range-button:hover,.load-more-button:hover{background:#e2ded2}.search-input{min-width:220px;padding:10px 12px;border:1px solid rgba(120,117,107,.18);border-radius:12px;background:#ffffffc7;color:#232420;font-size:.9rem}.search-input:focus{outline:2px solid rgba(94,147,214,.22);border-color:#5e93d657}.hidden-file-input{display:none}.source-viewer{position:relative}.source-chunk-badge{position:absolute;top:10px;right:12px;z-index:2;padding:4px 9px;border-radius:999px;background:#141514d1;color:#cfd6d0;border:1px solid rgba(171,178,191,.18);font-size:.74rem;letter-spacing:.04em;pointer-events:none;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.text-editor{overflow:hidden;border-radius:16px}.text-editor .cm-editor{width:100%}.text-editor .cm-scroller{scrollbar-width:thin}.cm-source-key-highlight{color:#ff6b6b;background:#ff6b6b24;border-radius:4px}.cm-source-value-highlight{background:#ff6b6b24;border-radius:4px;box-shadow:inset 0 0 0 1px #ff6b6b2e}.cm-search-match-highlight{background:#f2c94c38;border-radius:4px;box-shadow:inset 0 0 0 1px #f2c94c33}.panel-footnote{margin:8px 0 0;color:#696b62;font-size:.84rem}.error-banner{margin:0 0 14px;padding:12px 14px;border-radius:16px;background:#fce6e0;color:#913b2c}.tree-container{flex:1 1 auto;min-height:0;height:67vh;max-height:67vh;overflow:auto;scrollbar-width:thin;padding-top:2px}.tree-node{display:grid}.tree-row,.structure-item{width:100%;border:0;background:transparent;text-align:left}.tree-row{display:grid;grid-template-columns:24px minmax(140px,280px) 90px minmax(140px,1fr);gap:12px;align-items:center;min-height:38px;border-radius:12px;color:#2a2b27}.tree-row:hover,.structure-item:hover{background:#f0ece0d1}.tree-row.selected,.structure-item.selected-structure{background:#e6e1d1f2}.tree-row.search-match{box-shadow:inset 0 0 0 1px #ff6b6b42;background:#ff6b6b14}.tree-row.search-match.selected{background:#f2d6cdf2;box-shadow:inset 0 0 0 1px #ff6b6b4d}.tree-row.search-active{background:#f2c94c2e;box-shadow:inset 0 0 0 1px #f2c94c61}.tree-row.search-active.selected{background:#f2dfabb8}.tree-range-row{opacity:.94}.tree-range-row:hover{background:#e9e7dfd1}.tree-caret{display:inline-block;color:#908c81;transition:transform .16s ease}.tree-range-caret{color:#a59f92;font-size:1rem}.tree-caret.expanded{transform:rotate(90deg)}.tree-key{font-family:Iosevka,SFMono-Regular,Menlo,monospace;font-size:.94rem;color:#c16b58}.tree-range-key{color:#8b715f}.tree-type{justify-self:start;border-radius:999px;padding:4px 9px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.type-object,.type-array{background:#e9e7df;color:#666860}.type-string{background:#e4f0dd;color:#4f7b42}.type-number{background:#dfebf8;color:#3b6ca8}.type-boolean,.type-null{background:#ede4fb;color:#795bc7}.tree-preview{color:#5b5e55;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.tree-range-preview{color:#74776d;font-style:italic}.load-more-wrap{padding:10px 0 10px 28px}@media (max-width: 1280px){.composer-grid,.faq-strip{grid-template-columns:1fr}.panel-input,.panel-explorer{min-height:auto}}@media (max-width: 800px){.app-shell{width:min(100vw - 18px,100%);padding-top:10px}.topbar,.panel{padding:16px;border-radius:22px}.tree-row{grid-template-columns:1fr}.tree-type,.tree-preview{display:none}.text-editor .cm-editor{height:40vh!important;max-height:40vh!important}.topbar{align-items:flex-start;flex-direction:column}}:root{font-family:Satoshi,Manrope,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1c2d20;background:radial-gradient(circle at top left,rgba(212,226,197,.75),transparent 28%),radial-gradient(circle at top right,rgba(247,232,192,.66),transparent 22%),linear-gradient(180deg,#f7f5eb,#edf2e5);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}code{font-family:Iosevka,SFMono-Regular,Menlo,monospace}#root{min-height:100vh}
