:root{--bg-1:#f7efe2;--bg-2:#e7f5f1;--ink:#1b1e28;--muted:#5a6070;--panel:#ffffffde;--line:#cfd5e3;--primary:#1f6b75;--accent:#ca5b2f;--radius:16px;--shadow:0 18px 40px rgba(31, 40, 60, 0.12)}*{box-sizing:border-box}body{margin:0;min-height:100vh;font-family:"IBM Plex Sans","Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(140deg,var(--bg-1),var(--bg-2))}.background-shape{position:fixed;border-radius:50%;filter:blur(2px);z-index:0}.shape-a{width:340px;height:340px;background:radial-gradient(circle,#f6c879,#f6c87930);top:-80px;left:-90px}.shape-b{width:280px;height:280px;background:radial-gradient(circle,#78c6be,#78c6be30);right:-70px;bottom:-60px}.app-shell{position:relative;z-index:1;width:min(1200px,94vw);margin:32px auto 40px;display:grid;gap:16px}.topbar h1{margin:0 0 6px;font-family:"Space Grotesk","Segoe UI",sans-serif;font-size:clamp(2rem, 3.2vw, 3.1rem);font-weight:800;letter-spacing:.01em;line-height:1.02;background:linear-gradient(90deg,#1f6b75 0,#ca5b2f 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.topbar p{margin:0;color:var(--muted)}.back-link{display:inline-block;margin-top:10px;text-decoration:none;color:#1f6b75;font-weight:700}.panel{background:var(--panel);border:1px solid #fff;border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(4px)}.compare-panel{padding:16px;display:grid;gap:12px}.workspace-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.workspace-layout.history-visible{grid-template-columns:minmax(0,1fr) 340px;align-items:start}.mode-switch{display:inline-flex;gap:8px;padding:6px;border:1px solid #d9deeb;border-radius:12px;background:#f7f9ff;width:fit-content}.mode-option{display:inline-flex;align-items:center;gap:6px;border:1px solid #d5dcef;border-radius:10px;background:#fff;padding:6px 10px;cursor:pointer;font-size:.86rem;font-weight:700;color:#33405f}.mode-option:has(input:checked){border-color:#1f6b75;color:#134f57;background:#e7f4f1}.mode-option input{margin:0}.name-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.name-edit-item{display:flex;align-items:center;gap:8px;min-height:36px}.name-display-label{font-size:.92rem;color:#2d3650;font-weight:700}.icon-btn{width:30px;height:30px;border:1px solid #d5dcef;border-radius:8px;background:#fff;color:#33405f;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn svg{width:14px;height:14px;fill:currentColor}.name-edit-input{display:none;max-width:220px}.name-edit-item.editing .icon-btn,.name-edit-item.editing .name-display-label{display:none}.name-edit-item.editing .name-edit-input{display:block}.section-disabled{opacity:.5;pointer-events:none}.section-hidden{display:none}.file-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.file-block{border:1px dashed #9cb4cf;border-radius:12px;background:rgba(255,255,255,.8);padding:10px;display:grid;gap:8px}.file-block.drag-over{border-color:#1f6b75;background:rgba(31,107,117,.08)}.file-block-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.file-block-header h3{margin:0;font-size:.95rem}.file-input{display:none}.file-pick-btn{display:inline-flex;align-items:center;justify-content:center;padding:6px 10px}.drop-help{margin:0;color:#4c5876;font-size:.84rem}.file-list{min-height:40px;max-height:150px;overflow:auto;display:grid;gap:6px}.file-list.empty{color:var(--muted);font-style:italic}.file-chip{border:1px solid #d9deeb;border-radius:999px;background:#fff;padding:4px 6px 4px 10px;font-size:.82rem;color:#2d3650;width:fit-content;display:inline-flex;align-items:center;gap:6px}.file-remove-btn{border:1px solid #d2d8ea;background:#f6f8ff;color:#33405f;border-radius:999px;width:20px;height:20px;line-height:1;font-size:.8rem;font-weight:700;cursor:pointer;padding:0}.file-remove-btn:hover{background:#e9eefb}.file-preview-popover{position:fixed;z-index:1500;width:min(560px,calc(100vw - 20px));max-height:min(62vh,420px);border:1px solid #c9d6ef;border-radius:12px;background:rgba(18,24,39,.97);color:#e8efff;box-shadow:0 14px 30px rgba(14,19,32,.35);overflow:hidden;display:none}.file-preview-popover.visible{display:flex;flex-direction:column}.file-preview-title{padding:8px 10px;border-bottom:1px solid rgba(127,156,214,.35);background:rgba(70,95,143,.25);font-size:.82rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-preview-content{margin:0;padding:10px 12px;overflow:auto;white-space:pre;font:0.78rem/1.4 "IBM Plex Mono",Consolas,monospace}.input-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.input-block{display:grid;gap:8px}label{font-size:.92rem;color:#3a4052;font-weight:600}textarea{width:100%;min-height:240px;resize:vertical;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:#fff;color:var(--ink);font:0.92rem/1.45 "IBM Plex Mono",Consolas,monospace}.actions-row{display:flex;gap:10px;flex-wrap:wrap}.history-panel{padding:12px;display:flex;flex-direction:column;gap:10px;align-content:start;min-height:0;overflow:hidden}.history-panel.history-hidden{display:none}.history-controls{display:flex;flex-wrap:wrap;gap:8px}.history-name-input{min-width:220px;flex:1;border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#fff;color:var(--ink);font:0.9rem/1.2 "IBM Plex Sans","Segoe UI",sans-serif}.history-list{list-style:none;margin:0;padding:0;display:grid;gap:10px;flex:1 1 auto;min-height:0;overflow:auto}.history-item{border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff;display:grid;gap:8px}.history-title{font-weight:700;margin:0}.history-meta{color:var(--muted);font-size:.85rem;margin:0}.history-actions{display:flex;gap:8px;flex-wrap:wrap}.mini-btn{border:1px solid var(--line);border-radius:8px;background:#f8f9fd;color:#2d3650;padding:6px 8px;cursor:pointer}.btn{border:none;border-radius:12px;padding:10px 15px;font:inherit;font-weight:600;cursor:pointer}.primary{background:var(--primary);color:#fff}.ghost{background:#eef1f8;color:#2d3650}.status{margin:0;padding:10px 14px;border:1px solid rgba(27,30,40,.12);border-radius:12px;background:rgba(255,255,255,.82);color:#2f5a2f;font-weight:600}.results-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.results-grid.results-grid-single{grid-template-columns:1fr}.results-controls{grid-column:1/-1;padding:12px;display:flex;flex-wrap:wrap;align-items:end;gap:10px}.results-view-field{min-width:220px}.inline-field{display:grid;gap:6px}.check-field{display:inline-flex;align-items:center;gap:6px;font-size:.88rem;color:#33405f}.result-panel{padding:14px;min-width:0}.result-panel-hidden{display:none}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.panel-header h2{margin:0;font-size:1rem}.count-badge{border:1px solid #cfd6e8;background:#f7f9ff;color:#33405f;border-radius:999px;padding:2px 8px;font-size:.8rem;font-weight:700}.result-list{max-height:420px;overflow:auto;display:grid;gap:8px}.result-list.result-list-full{max-height:none;overflow:visible}.result-list.empty{color:var(--muted);font-style:italic}.result-item{border:1px solid #d9deeb;border-radius:10px;padding:8px 10px;background:#fff;font-size:.88rem;line-height:1.4}.file-group{border:1px solid #d9deeb;border-radius:10px;background:#fff;overflow:hidden}.file-group>summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;font-size:.88rem;font-weight:700;color:#2a3653;background:#f7f9ff}.file-group>summary::-webkit-details-marker{display:none}.file-group-items{padding:8px;display:grid;gap:8px}.file-group-count{border:1px solid #ccd7f0;background:#fff;border-radius:999px;padding:2px 8px;font-size:.78rem}.result-path{font-family:"IBM Plex Mono",Consolas,monospace;font-weight:700;color:#2d3650;white-space:pre-wrap;overflow-wrap:anywhere}.result-side,.result-value{font-family:"IBM Plex Mono",Consolas,monospace;color:#44506e;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}.result-side-a{color:#9c2f45;background:#fff2f5;border-left:3px solid #d85b78;border-radius:6px;padding:4px 6px}.result-side-b{color:#1f5f86;background:#eef8ff;border-left:3px solid #4d9fd1;border-radius:6px;padding:4px 6px}.result-missing-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:999px;margin-right:6px;font-size:.68rem;font-weight:800;color:#fff;background:#c4472d;vertical-align:text-bottom}.result-missing-text{font-weight:700}@media (max-width:920px){.file-grid,.input-grid,.name-edit-row,.results-grid,.workspace-layout,.workspace-layout.history-visible{grid-template-columns:1fr}.result-list{max-height:320px}.result-list.result-list-full{max-height:none}}.file-grid.section-hidden,.input-grid.section-hidden{display:none!important}