:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#20251f;background:#f5f4ef;font-synthesis:none;--ink: #20251f;--muted: #6d716b;--line: #d8d9d3;--paper: #fffefa;--panel: #f1f1ec;--green: #3d5740;--green-soft: #e3ece3;--red: #b72d2b;--amber: #a46a00;--mono: ui-monospace, SFMono-Regular, Consolas, monospace;--workspace-body-height: clamp(620px, calc(100vh - 275px) , 1200px)}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:#b9beb8 transparent}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,label:focus-within{outline:2px solid #78937d;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.48}code{font-family:var(--mono)}.app-shell{min-height:100vh}.site-header,main,footer{width:min(3000px,calc(100% - clamp(24px,3vw,72px)));margin:auto}.site-header{height:54px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;font-weight:750;font-size:19px;letter-spacing:-.045em}.brand:before{content:"＋";display:inline-block;margin-right:8px;color:#8b9e8d;font-size:17px;font-weight:400;vertical-align:1px}.privacy-mark{margin-left:10px;color:var(--green);background:var(--green-soft);border:1px solid #c4d2c6;border-radius:99px;padding:4px 8px;font:10px var(--mono);text-transform:uppercase;letter-spacing:.12em}.site-header p{color:var(--muted);margin:0;font:11px var(--mono)}.hero{padding:24px 0 18px;max-width:600px}.hero h1{font-size:32px;line-height:1;letter-spacing:-.05em;margin:7px 0 9px;font-weight:650}.hero>p:last-child{color:var(--muted);font-size:13px;line-height:1.45;max-width:520px}.eyebrow{color:var(--green);text-transform:uppercase;letter-spacing:.13em;font:10px var(--mono);font-weight:700}.file-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.file-card{min-width:0;min-height:68px;display:grid;grid-template-columns:108px minmax(0,1fr) auto;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);overflow:hidden}.file-card-heading{display:contents;align-items:center;justify-content:space-between}.drop-target{grid-column:2;min-width:0;min-height:66px;cursor:pointer;display:flex;align-items:center;padding:10px 12px;border:0;background:transparent;text-align:left;transition:background .14s ease}.drop-target:not(.is-disabled):hover,.is-dragging .drop-target{background:#eef3ed}.drop-target.is-disabled{cursor:not-allowed;opacity:.65}.drop-target input{position:absolute;opacity:0;width:1px;height:1px}.drop-target>span{display:grid;gap:5px}.file-card-heading .file-role{grid-column:1;display:flex;align-items:center;gap:8px;padding-left:14px}.file-role-mark{width:19px;height:19px;display:inline-block;border:1px solid currentColor;border-radius:50%;position:relative}.file-role-mark:after{content:"";position:absolute;inset:4px;border-radius:50%;background:currentColor;opacity:.2}.file-card.expected .file-role{color:var(--red)}.file-card.actual .file-role{color:#08723b}.file-card-actions{grid-column:3;margin-right:13px;display:flex;gap:8px}.file-card-actions .text-button{color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.11em}.drop-target small,.file-details>span{color:var(--muted)}.file-details{min-width:0;max-width:100%;display:flex!important;align-items:baseline;gap:12px}.file-details strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.file-details code{color:var(--muted);font-size:10px;white-space:nowrap}.file-state,.drop-prompt{color:var(--muted);font-size:12px}.drop-prompt small{font-size:10px}.warning,.field-error{margin:7px 2px 0;font-size:12px}.warning{color:#866300}.field-error,.global-error{color:#9f201c}button{border:1px solid var(--line);border-radius:5px;background:var(--paper);min-height:32px;padding:6px 10px;cursor:pointer;font-size:12px;font-weight:600}button:hover:not(:disabled){border-color:#8d9891}.primary{background:var(--green);color:#fff;border-color:var(--green);padding-inline:15px}.danger{color:#9f201c;border-color:#d8aaa7;background:#fff6f5}.text-button{min-height:auto;padding:2px;border:0;background:none;color:var(--muted)}.action-bar{margin:10px 0 8px;border-block:1px solid var(--line);background:transparent;min-height:46px;padding:6px 0;display:flex;align-items:center;gap:10px}.swap-button{width:32px;min-width:32px;padding:0;font-size:16px}.swap-button .button-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.progress-copy{display:grid;margin-left:4px;font:11px var(--mono)}.progress-copy span{color:var(--muted)}.action-bar progress{width:110px;accent-color:var(--green)}.push-right{margin-left:auto}.global-error{padding:8px 12px;border:1px solid #e1b6b3;background:#fff4f3;border-radius:7px;font-size:12px}.workspace{min-height:calc(var(--workspace-body-height) + 44px);margin-bottom:10px;background:#e6e7e1;border:1px solid #cfd1ca;border-radius:6px;overflow:hidden}.workspace-body{display:grid;grid-template-columns:clamp(300px,20vw,420px) minmax(0,1fr);height:var(--workspace-body-height);min-height:620px}.workspace-view{min-width:0;min-height:0;overflow:auto}.workspace-toolbar{background:var(--paper);border-bottom:1px solid var(--line);display:flex;min-height:44px;align-items:center;padding:5px 10px;gap:12px}.tabs{display:flex;gap:3px}.tabs button{border:0;background:transparent;min-height:32px;padding-inline:10px;color:var(--muted);font-weight:500}.tabs button.active{background:var(--green-soft);color:var(--green)}.page-controls{display:flex;align-items:center;gap:4px;margin-left:auto}.page-controls label{font:11px var(--mono);white-space:nowrap}.page-controls input{width:43px;border:1px solid var(--line);border-radius:4px;padding:4px;font:11px var(--mono)}.zoom-control{display:flex;align-items:center;gap:6px;font:11px var(--mono);white-space:nowrap}.zoom-control input{width:72px;accent-color:var(--green)}.status-strip{min-height:38px;display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:7px 0;border-bottom:1px solid var(--line);font:11px var(--mono)}.status-key{color:var(--muted);font-size:10px;letter-spacing:.13em}.status-strip strong{font-family:var(--mono)}.status-accent{color:var(--amber)}.status-detail{color:var(--muted)}.structural-status-key{color:var(--green)}.structural-status-value{min-width:22px;padding:2px 6px;border-radius:4px;background:var(--green-soft);color:var(--green);text-align:center}.change-explorer{display:flex;height:100%;max-height:none;flex-direction:column;border-right:1px solid var(--line);background:#f3f3ee;overflow:hidden}.explorer-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 9px;font-size:14px}.explorer-heading span{display:grid;min-width:22px;height:22px;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green);font:11px var(--mono);font-weight:700}.change-filters{display:flex;flex-wrap:wrap;gap:2px;padding:0 10px 10px;border-bottom:1px solid var(--line)}.change-filters button{min-height:24px;padding:3px 7px;border:0;background:transparent;color:var(--muted);font:10px var(--mono);text-transform:uppercase;letter-spacing:.03em}.change-filters button.active{color:var(--green);background:var(--green-soft)}.change-filters button span{margin-left:2px;opacity:.7}.change-list{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;padding:6px 0}.change-page-group h2,.raw-change-group h2,.structural-change-groups h2,.positioned-changes h2{margin:10px 14px 5px;color:var(--muted);font:10px var(--mono);font-weight:700;letter-spacing:.12em;text-transform:uppercase}.change-item,.raw-change-group button{width:100%;min-height:0;margin-bottom:1px;padding:8px 14px;border-color:transparent;background:transparent;text-align:left;font-size:12px;line-height:1.28}.change-item:hover:not(:disabled),.raw-change-group button:hover:not(:disabled){background:#e8ebe5}.change-item span,.change-item small{display:block}.change-item small,.raw-change-group small{margin-top:2px;color:var(--muted);font:10px var(--mono)}.change-item.primary{color:#173f32}.change-item.correlated{color:#735515}.change-item.residual{color:#9f201c}.change-item.selected{border-color:#a5bca9;border-left-color:var(--green);background:#e1ece2}.explorer-empty{padding:10px 14px;color:var(--muted);font-size:12px}.raw-change-group{border-top:1px solid var(--line);padding:7px 0}.structural-change-groups{border-top:1px solid var(--line);margin-top:8px;padding-top:1px}.structural-change-groups.prominent{margin:0 8px 10px;padding:7px 0 0;border:1px solid #aac3ae;border-left:3px solid var(--green);border-radius:6px;background:#edf4ed}.structural-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;padding:0 10px}.structural-heading h2{margin:4px 0;color:var(--green)}.structural-heading>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:3px}.structural-heading>div span{padding:2px 5px;border-radius:999px;background:#dbe9dc;color:#24533f;font:9px var(--mono);white-space:nowrap}.structural-intro{margin:1px 10px 7px;color:#4d655a;font-size:10px;line-height:1.35}.structural-change-group{border-bottom:1px solid #dedfd9}.structural-change-group summary{position:relative;padding:9px 28px 9px 14px;color:#173f32;cursor:pointer;font-size:12px;list-style:none}.structural-change-group summary::-webkit-details-marker{display:none}.structural-change-group summary:after{position:absolute;top:12px;right:14px;color:var(--muted);content:"+";font:12px var(--mono)}.structural-change-group[open] summary:after{content:"−"}.structural-change-group summary:hover{background:#e8ebe5}.structural-change-group summary span,.structural-change-group summary small{display:block}.structural-change-group summary small,.structural-change-group summary em{margin-top:2px;color:var(--muted);font:10px var(--mono);font-style:normal}.structural-change-group summary em{display:inline-block;margin-top:5px;padding:1px 5px;border-radius:3px;background:#e2e5de}.structural-properties{padding:0 10px 8px}.structural-property{padding:8px;border-top:1px solid #dedfd9;background:#f8f8f4;font-size:11px}.structural-property strong{margin-right:6px}.structural-property code{color:var(--muted);font-size:10px}.structural-property>span{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:5px;align-items:start;margin-top:5px;font:10px/1.35 var(--mono)}.structural-property del,.structural-property ins{overflow-wrap:anywhere;text-decoration:none}.structural-property del{color:#8d2925}.structural-property ins{color:#146044}.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#c9cbc5;height:100%;min-height:620px}.page-pane{min-width:0;min-height:0;background:#e1e2dc}.pane-heading{background:#f5f5f0;display:flex;justify-content:space-between;padding:8px 12px;font:11px var(--mono);text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--line)}.pane-heading small{color:var(--muted)}.page-scroll{height:calc(100% - 33px);overflow:auto;padding:22px;position:relative}.page-scroll canvas{display:block;height:auto;margin:0 auto;background:#fff;box-shadow:0 2px 14px #1e262124}.overlay-pane{height:100%;min-height:620px;background:#e1e2dc}.overlay-toolbar{display:flex;min-height:58px;align-items:center;gap:16px;padding:7px 12px;background:#f5f5f0;border-bottom:1px solid var(--line)}.overlay-toolbar fieldset{display:flex;gap:8px;margin:0;padding:0;border:0}.overlay-toolbar legend{margin-bottom:2px;color:var(--muted);font:10px var(--mono);font-weight:700;letter-spacing:.1em;text-transform:uppercase}.overlay-toolbar label{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:11px}.overlay-toolbar input{accent-color:var(--green)}.overlay-toolbar p{max-width:320px;margin:0 0 0 auto;color:var(--muted);font:10px/1.4 var(--mono);line-height:1.4}.overlay-scroll{height:calc(100% - 58px);overflow:auto;padding:22px}.overlay-scroll canvas{display:block;height:auto;margin:0 auto;background:#fff;box-shadow:0 2px 14px #1e262124}.canvas-message{text-align:center;color:var(--muted);margin-top:70px}.notice{margin:0;padding:8px 12px;background:#fff9e9;color:#685b2f;border-bottom:1px solid #ddd2b4;font:10px/1.4 var(--mono)}.empty-panel{min-height:100%;display:grid;place-items:center;color:var(--muted)}.text-hunk{margin:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px;overflow:hidden}.positioned-changes{padding:7px 10px 2px}.positioned-change{display:grid;grid-template-columns:190px minmax(0,1fr);width:100%;min-height:0;margin:3px 0;padding:7px 9px;border-color:var(--line);background:var(--paper);text-align:left;font-size:11px}.positioned-change.selected{border-color:#8bad9d;box-shadow:inset 3px 0 #174d3b}.positioned-change strong,.positioned-change small{display:block}.positioned-change>span:first-child small,.positioned-change-text small{margin-top:3px;color:var(--muted);font-size:10px}.positioned-change-text{min-width:0}.change-context{display:block;color:var(--muted);font:10px/1.45 var(--mono)}.positioned-change-text del,.positioned-change-text ins{display:block;overflow-wrap:anywhere;text-decoration:none}.positioned-change-text del{color:#9f201c}.positioned-change-text ins{color:#17633d}.hunk-heading,.hunk-columns{display:grid;grid-template-columns:1fr 1fr}.hunk-heading{background:#f3f3ef;font-size:11px;color:var(--muted)}.hunk-heading span{padding:7px 10px}.hunk-columns>div{min-width:0;padding:8px;border-right:1px solid var(--line)}.text-line{min-height:24px;padding:3px 7px;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.text-line.removed{background:#fff0ef}.text-line.added{background:#eaf5ed}.text-line mark{background:transparent;color:inherit}.text-line mark.removed{background:#ffc9c5}.text-line mark.added{background:#bce6c6}.hex-toolbar{display:flex;align-items:center;gap:6px;padding:7px 10px;background:var(--paper);border-bottom:1px solid var(--line);font:10px var(--mono)}.hex-change-summary{min-width:0;overflow-wrap:anywhere}.hex-columns{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);height:calc(100% - 47px)}.hex-side{min-width:0;background:#f8f8f4;padding:10px;overflow:auto;overscroll-behavior:contain;height:100%}.hex-side-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:8px;color:var(--muted);font:11px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace}.hex-side h3{margin:0;color:var(--ink);font-size:11px;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.hex-side-controls{display:flex;gap:6px;margin-bottom:10px}.hex-boundary{margin:0 0 10px;padding:6px 8px;border-left:3px solid #bd2d27;background:#fff0ef;color:#70100c;font-size:11px}.hex-table{min-width:640px}.hex-line{display:grid;grid-template-columns:82px 410px 140px;line-height:1.6;font-size:10px}.hex-offset{color:#7a827d}.hex-values{display:flex;gap:5px}.hex-values mark{background:transparent;color:inherit}.hex-values mark.byte-changed{background:#ffbdb7;color:#70100c}.ascii-values{color:#59635d}footer{min-height:34px;border-top:1px solid var(--line);color:var(--muted);font:10px var(--mono);display:flex;align-items:center;justify-content:space-between}@media(max-width:950px){.workspace-toolbar{flex-wrap:wrap}.page-controls{order:3;width:100%;margin:0;justify-content:center}.page-grid,.hex-columns{grid-template-columns:1fr}.workspace-body{grid-template-columns:190px minmax(0,1fr)}.overlay-toolbar{flex-wrap:wrap;gap:10px}.overlay-toolbar p{width:100%;max-width:none;margin:0}.site-header p{display:none}}@media(max-width:680px){.site-header,main,footer{width:min(100% - 24px,1460px)}.file-grid{grid-template-columns:1fr}.hero{padding-top:30px}.action-bar{flex-wrap:wrap}.progress-copy{order:3;width:100%}.push-right{margin-left:0}.tabs{width:100%}.tabs button{flex:1}.workspace-body{display:block;height:auto;min-height:0}.workspace{min-height:620px}.workspace-view{overflow:visible}.page-grid,.overlay-pane{height:auto;min-height:576px}.page-scroll{height:470px}.overlay-scroll{height:518px}.hex-columns{height:auto}.hex-side{height:518px}.change-explorer{height:auto;max-height:230px;border-right:0;border-bottom:1px solid var(--line)}.zoom-control{margin-left:auto}.page-controls>button:first-child,.page-controls>button:last-child{display:none}footer{display:grid;align-content:center;gap:5px}}
