:root{color:#1f2937;background:#eef2f7;font-family:Avenir Next,Hiragino Sans,Yu Gothic UI,Yu Gothic,Meiryo,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button{min-width:0}h1,h2,h3,p,dl,dd,ul{margin:0}h1{color:#172033;font-size:24px;line-height:1.2}h2{color:#172033;font-size:13px;letter-spacing:0;line-height:1.3}h3{color:#6b778c;font-size:11px;letter-spacing:0;line-height:1.3;margin-top:18px;text-transform:uppercase}.app-shell{background:linear-gradient(180deg,#f7f9fc,#e8edf5),#eef2f7;min-height:100vh}.workbench{display:grid;gap:12px;min-width:0;padding:16px}.app-header{align-items:center;background:#fff;border:1px solid #d8e0ea;border-radius:8px;display:grid;gap:16px;grid-template-columns:1fr minmax(260px,420px);padding:14px 16px}.title-group{min-width:0}.search-box,.paste-area{display:grid;gap:7px}.search-box span,.paste-area span{color:#44546f;font-size:12px;font-weight:700}.search-box input,.paste-area textarea{background:#fff;border:1px solid #b8c4d4;border-radius:7px;color:#172033;min-width:0;outline:none;padding:9px 10px;width:100%}.search-box input:focus,.paste-area textarea:focus{border-color:#2f7cf6;box-shadow:0 0 0 3px #2f7cf633}.paste-area textarea{font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;min-height:420px;resize:vertical}.command-bar{align-items:center;background:#fff;border:1px solid #d8e0ea;border-radius:8px;color:#44546f;display:flex;flex-wrap:wrap;gap:8px;padding:8px}.command-bar span{background:#f4f7fb;border:1px solid #d8e0ea;border-radius:6px;color:#253044;font-size:12px;font-weight:700;max-width:100%;overflow-wrap:anywhere;padding:5px 8px}.editor-grid{display:grid;gap:12px;grid-template-columns:minmax(340px,.78fr) minmax(0,1.35fr);min-height:0}.input-panel,.output-panel,.workspace{display:grid;gap:12px;min-width:0}.input-panel{align-content:start;background:#fff;border:1px solid #d8e0ea;border-radius:8px;padding:12px}.output-panel{align-content:start}.workspace{align-items:start;grid-template-columns:minmax(220px,280px) minmax(0,1fr)}.panel,.viewer,.drop-zone,.error-panel{background:#fff;border:1px solid #d8e0ea;border-radius:8px;padding:13px}.drop-zone{align-items:center;display:flex;gap:12px;justify-content:space-between;min-width:0}.drop-zone p{color:#6b778c;font-size:12px;line-height:1.5;margin-top:4px}.drop-zone.is-dragging{border-color:#2f7cf6;box-shadow:0 0 0 2px #2f7cf638 inset}.input-actions,.input-footer{align-items:end;display:flex}.input-footer{justify-content:flex-end}.button-primary,.button-secondary,.tab-button,.tree-toggle,.tree-item{border:1px solid transparent;border-radius:6px;cursor:pointer;min-height:34px}.button-primary,.button-secondary,.tab-button{max-width:100%;overflow-wrap:anywhere;padding:7px 11px}.button-primary{background:#2f7cf6;color:#fff;font-weight:800}.button-secondary,.tab-button{background:#f4f7fb;border-color:#c6d1df;color:#253044}.button-primary:hover,.button-secondary:hover,.tab-button:hover{filter:brightness(1.03)}.tab-button[aria-selected=true]{background:#2f7cf6;border-color:#2f7cf6;color:#fff;font-weight:800}.tree-toggle:disabled{cursor:default;opacity:.55}.summary-panel{min-width:0}.summary-list{display:grid;gap:10px;margin-top:12px}.summary-list div,.type-counts div{display:grid;gap:4px}.summary-list dt,.type-counts dt{color:#6b778c;font-size:11px;font-weight:800;text-transform:uppercase}.summary-list dd,.type-counts dd{color:#172033;font-size:13px;line-height:1.45;overflow-wrap:anywhere}.type-counts{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.key-list{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin-top:10px;max-height:168px;overflow:auto;padding:0}.key-list li{background:#f4f7fb;border:1px solid #d8e0ea;border-radius:5px;color:#253044;font-size:12px;max-width:100%;overflow-wrap:anywhere;padding:4px 6px}.viewer{min-width:0;padding:0}.tab-list{background:#f4f7fb;border-bottom:1px solid #d8e0ea;border-radius:8px 8px 0 0;display:flex;gap:6px;padding:8px}.tab-panel{background:#fff;border-radius:0 0 8px 8px;min-height:542px;min-width:0;overflow:auto;padding:12px}.tree-view{display:grid;gap:2px}.tree-row{align-items:center;display:grid;gap:4px;grid-template-columns:28px minmax(0,1fr);padding-left:calc(var(--tree-depth) * 18px)}.tree-toggle{background:transparent;color:#6b778c;min-height:28px;padding:0}.tree-item{align-items:center;background:transparent;color:#253044;display:grid;gap:4px;grid-template-columns:minmax(0,1fr) auto;min-width:0;padding:5px 8px;text-align:left}.tree-item:hover,.tree-item.is-selected{background:#edf4ff}.tree-item.is-selected{box-shadow:inset 3px 0 #2f7cf6}.tree-item.is-matched{box-shadow:0 0 0 2px #facc15 inset}.tree-path{color:#172033;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-meta{color:#6b778c;font-size:12px;overflow-wrap:anywhere}.code-view{background:#f8fafc;border:1px solid #d8e0ea;border-radius:7px;color:#172033;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:13px;line-height:1.5;margin:0;overflow:auto;padding:12px 0}.code-line{display:grid;grid-template-columns:56px minmax(0,1fr);min-width:max-content;padding-right:12px}.code-line.is-matched{background:#fff7d6}.line-number{color:#7a869a;padding:0 12px;text-align:right;-webkit-user-select:none;user-select:none}.line-text{white-space:pre}.code-mark{background:#facc15;border-radius:2px;color:#172033;padding:0 1px}.table-wrap{min-width:0;overflow:auto}.table-wrap h2,.scalar-view h2{margin-bottom:12px;overflow-wrap:anywhere}table{border-collapse:collapse;color:#172033;font-size:13px;min-width:420px;width:100%}th,td{border-bottom:1px solid #e2e8f0;max-width:320px;overflow-wrap:anywhere;padding:8px 10px;text-align:left;vertical-align:top}th{background:#f4f7fb;color:#6b778c;font-size:12px}tr.is-matched td{background:#fff7d6;box-shadow:inset 3px 0 #facc15}.error-panel{background:#fff1f0;border-color:#ff8f87;color:#7f1d1d;display:grid;gap:8px}.error-message p,.warning-list{font-size:13px;line-height:1.5;margin-top:4px}.warning-list{color:#7c5b00;padding-left:18px}.empty-state{color:#6b778c;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(max-width:1080px){.editor-grid,.workspace{grid-template-columns:1fr}.paste-area textarea,.tab-panel{min-height:360px}}@media(max-width:760px){.app-header{grid-template-columns:1fr}.input-footer{justify-content:stretch}.button-primary{width:100%}.tree-item{grid-template-columns:1fr}}
