.td{gap:var(--s5);display:grid}.td-inputs{gap:var(--s4);grid-template-columns:1fr 1fr;display:grid}.td-pane{gap:var(--s3);min-width:0;padding:var(--s4);background:var(--surface-1);border:1px solid var(--line-firm);border-radius:var(--r-lg);transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease);display:grid}.td-pane.td-over{border-color:var(--brass);background:var(--brass-wash)}.td-phead{justify-content:space-between;align-items:center;gap:var(--s2);flex-wrap:wrap;display:flex}.td-lbl{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-1)}.td-pacts{align-items:center;gap:var(--s2);display:flex}.td-file span,.td-ghost{min-height:44px;padding:0 var(--s3);background:var(--surface-0);border:1px solid var(--line-firm);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-1);cursor:pointer;transition:border-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;display:inline-flex}.td-file span:hover,.td-ghost:hover{border-color:var(--brass);color:var(--ink-0)}.td textarea{resize:vertical;width:100%;min-width:0;min-height:180px;padding:var(--s3);background:var(--surface-0);border:1px solid var(--line);border-radius:var(--r-md);font-family:var(--font-mono);font-size:var(--step--1);color:var(--ink-0);transition:border-color var(--dur) var(--ease);line-height:1.55}.td textarea:focus{border-color:var(--brass);outline:none}.td-err{font-size:var(--step--1);color:var(--error);max-width:48ch}.td-facts{gap:var(--s2) var(--s4);flex-wrap:wrap;margin:0;display:flex}.td-facts dt{font-family:var(--font-mono);font-size:var(--step--1);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2)}.td-facts dd{font-size:var(--step--1);margin:2px 0 0}.td-fname{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:22ch;display:inline-block;overflow:hidden}.td-controls{align-items:flex-start;gap:var(--s4) var(--s6);flex-wrap:wrap;display:flex}.td-set{gap:var(--s2);min-width:0;display:grid}.td-seg{border:1px solid var(--line-firm);border-radius:var(--r-md);background:var(--surface-0);display:inline-flex;overflow:hidden}.td-seg button{min-height:44px;padding:0 var(--s4);font-size:var(--step--1);color:var(--ink-1);transition:background var(--dur) var(--ease), color var(--dur) var(--ease)}.td-seg button+button{border-left:1px solid var(--line-firm)}.td-seg button:hover{color:var(--ink-0)}.td-seg button[aria-pressed=true]{background:var(--brass-wash);color:var(--ink-0);box-shadow:inset 0 -2px 0 var(--brass)}.td-note{font-size:var(--step--1);color:var(--ink-2);max-width:44ch}.td-hint{font-size:var(--step--1);color:var(--ink-2);max-width:68ch;margin-top:calc(-1 * var(--s3))}.td-hint code{font-family:var(--font-mono);background:var(--surface-2);border-radius:var(--r-sm);padding:.1em .3em;font-size:.92em}.td-checks{align-items:center;gap:var(--s3);flex-wrap:wrap;display:flex}.td-check{align-items:center;gap:var(--s2);min-height:44px;font-size:var(--step--1);color:var(--ink-1);cursor:pointer;display:flex}.td-check input{width:18px;height:18px;accent-color:var(--brass)}.td-ticket{background:var(--surface-1);border:1px solid var(--line-firm);border-radius:var(--r-lg);padding:var(--s5);box-shadow:var(--shadow-2)}.td-stub{justify-content:space-between;align-items:center;gap:var(--s3);display:flex}.td-no{color:var(--brass-lo);font-size:var(--step--1);letter-spacing:.04em}.td-perf{height:1px;margin:var(--s4) calc(-1 * var(--s5));background-image:linear-gradient(90deg, var(--line-firm) 55%, transparent 0);background-size:9px 1px;position:relative}.td-perf:before,.td-perf:after{content:"";border-radius:var(--r-full);background:var(--surface-0);border:1px solid var(--line);width:14px;height:14px;position:absolute;top:-7px}.td-perf:before{left:-7px}.td-perf:after{right:-7px}.td-stats{align-items:baseline;gap:var(--s2) var(--s4);font-size:var(--step--1);flex-wrap:wrap;display:flex}.td-stat{color:var(--ink-1)}.td-s-add{color:var(--ok)}.td-s-del{color:var(--error)}.td-s-mod{color:var(--brass-lo)}.td-s-pct{color:var(--ink-0);margin-left:auto}.td-flag{margin-top:var(--s4);font-size:var(--step--1);color:var(--ink-1);max-width:64ch}.td-flag strong{color:var(--ink-0)}.td-notice{margin-top:var(--s4);padding:var(--s4);border-radius:var(--r-md);border-left:3px solid var(--line-firm);background:var(--surface-2);animation:td-land .26s var(--ease) both}.td-notice.td-warn{border-left-color:var(--warn)}.td-notice.td-ok{border-left-color:var(--ok)}.td-notice strong{font-size:var(--step-0);display:block}.td-notice p{margin-top:var(--s2);font-size:var(--step--1);color:var(--ink-1);max-width:66ch}@keyframes td-land{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.td-notice{animation:none}}.td-invisible{padding:var(--s5);background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg)}.td-h{font-family:var(--font-display);font-size:var(--step-2)}.td-invisible ul{margin-top:var(--s3);gap:var(--s3);padding:0;list-style:none;display:grid}.td-invisible li{align-items:baseline;gap:var(--s2) var(--s3);font-size:var(--step--1);color:var(--ink-1);flex-wrap:wrap;display:flex}.td-jump{min-height:44px;padding:0 var(--s2);color:var(--ink-0);border-bottom:1px solid var(--brass);font-size:var(--step--1);transition:color var(--dur) var(--ease);flex:none}.td-jump:hover{color:var(--brass-lo)}.td-body{overscroll-behavior:contain;background:var(--surface-1);border:1px solid var(--line);border-radius:var(--r-lg);min-width:0;max-width:100%;height:clamp(320px,58vh,640px);overflow:auto}.td-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-family:var(--font-mono);font-size:var(--step--1)}.td-table thead th{z-index:2;height:34px;padding:0 var(--s3);text-align:left;white-space:nowrap;color:var(--ink-1);background:var(--surface-2);border-bottom:1px solid var(--line-firm);font-weight:500;position:sticky;top:0}.td-row td{height:25px;padding:0 var(--s3);white-space:pre;vertical-align:top;line-height:25px}.td-num{width:1%;padding:0 var(--s2);text-align:right;color:var(--ink-2);background:var(--surface-2);user-select:none}.td-sign{width:1%;padding:0 var(--s2);text-align:center;color:var(--ink-2)}.td-cell{min-width:14ch}.td-x2 .td-cell{min-width:min(40vw,520px)}.td-pad td{background:0 0;border:none;height:auto;padding:0}.td-x2 .td-r-del td:nth-child(2),.td-x2 .td-r-mod td:nth-child(2){background:color-mix(in oklch, var(--error) 12%, transparent)}.td-x2 .td-r-add td:nth-child(4),.td-x2 .td-r-mod td:nth-child(4){background:color-mix(in oklch, var(--ok) 14%, transparent)}.td-x1 .td-r-del .td-cell,.td-x1 .td-r-del .td-sign,.td-x1 .td-r-mod.td-r-l .td-cell,.td-x1 .td-r-mod.td-r-l .td-sign{background:color-mix(in oklch, var(--error) 12%, transparent)}.td-x1 .td-r-add .td-cell,.td-x1 .td-r-add .td-sign,.td-x1 .td-r-mod.td-r-r .td-cell,.td-x1 .td-r-mod.td-r-r .td-sign{background:color-mix(in oklch, var(--ok) 14%, transparent)}.td-void{background-image:repeating-linear-gradient(135deg, transparent 0 5px, var(--line) 5px 6px)}.td-out{background:color-mix(in oklch, var(--error) 26%, transparent);border-radius:2px}.td-in{background:color-mix(in oklch, var(--ok) 30%, transparent);border-radius:2px}.td-tail{background:color-mix(in oklch, var(--warn) 55%, transparent);border-radius:2px}.td-nb{background:color-mix(in oklch, var(--warn) 40%, transparent);box-shadow:inset 0 0 0 1px var(--warn);border-radius:2px}.td-zw{color:var(--warn);outline-offset:1px;outline:1px dotted}.td-r-inv td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.td-empty{padding:var(--s6);border:1px dashed var(--line-firm);border-radius:var(--r-lg);color:var(--ink-1);font-size:var(--step--1)}.td-empty p{max-width:62ch}.td-foot{font-size:var(--step--1);color:var(--ink-2);max-width:68ch}@media (width<=760px){.td-inputs{grid-template-columns:1fr}}@media (width<=640px){.td-pane{padding:var(--s3)}.td-controls{gap:var(--s4)}.td-set,.td-seg{width:100%}.td-seg button{padding:0 var(--s2);flex:1 1 0}.td-s-pct{width:100%;margin-left:0}.td-body{height:clamp(300px,52vh,520px)}.td-x2 .td-cell{min-width:44vw}.td-invisible,.td-ticket{padding:var(--s4)}.td-perf{margin-inline:calc(-1 * var(--s4))}}
