.pt-toolbar{padding-bottom:var(--tb-space-3);border-bottom:1px solid var(--tb-color-gray-200)}.pt-granularity-label{white-space:nowrap}.pt-panel>.tb-row{margin-bottom:var(--tb-space-2)}.pt-textarea{min-height:var(--tb-space-10);resize:vertical;font-size:var(--tb-font-size-input-mono);font-family:var(--tb-font-mono);min-height:180px}.pt-upload{margin-top:var(--tb-space-2);padding:var(--tb-space-3) var(--tb-space-4);cursor:pointer}.pt-input-stats{font-size:var(--tb-font-size-xs);color:var(--tb-color-gray-400);font-family:var(--tb-font-mono)}.pt-kbd{display:inline-flex;align-items:center;padding:0 var(--tb-space-2);background:var(--tb-color-gray-100);border:1px solid var(--tb-color-gray-300);border-radius:var(--tb-radius-sm);font-family:var(--tb-font-mono);font-size:var(--tb-font-size-xs);color:var(--tb-color-gray-500);line-height:1.6}#pt-result-area>.tb-row{margin-bottom:var(--tb-space-3)}.pt-stat-badge{display:inline-flex;align-items:center;gap:var(--tb-space-1);padding:var(--tb-space-1) var(--tb-space-2);border-radius:var(--tb-radius-sm);font-size:var(--tb-font-size-xs);font-weight:600;font-family:var(--tb-font-mono)}.pt-stat-added{background:color-mix(in srgb,var(--tb-color-success) 15%,transparent);color:var(--tb-color-success)}.pt-stat-removed{background:color-mix(in srgb,var(--tb-color-danger) 15%,transparent);color:var(--tb-color-danger)}.pt-stat-unchanged{background:var(--tb-color-gray-100);color:var(--tb-color-gray-500)}.pt-diff-output{border:1px solid var(--tb-color-gray-200);border-radius:var(--tb-radius-md);overflow-x:auto;-webkit-overflow-scrolling:touch}.pt-empty-state:not(.tb-hidden),.pt-identical-state:not(.tb-hidden){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--tb-space-2);padding:var(--tb-space-8) var(--tb-space-4);color:var(--tb-color-gray-400);text-align:center}.pt-empty-state svg,.pt-identical-state svg{opacity:.4}.pt-empty-state p,.pt-identical-state p{margin:0;font-size:var(--tb-font-size-base)}.pt-empty-hint{font-size:var(--tb-font-size-sm);color:var(--tb-color-gray-400)}.pt-identical-state{color:var(--tb-color-success)}.pt-identical-state svg{opacity:.7}@media(max-width:639px){.pt-toolbar{flex-direction:column;align-items:flex-start}}
