:root{--tdc-paper: #fbfaf7;--tdc-card: #ffffff;--tdc-ink: #1f2328;--tdc-mute: #5c636e;--tdc-line: #e4e1d9;--tdc-line-2: #d6d2c7;--tdc-accent: #0f6e6e;--tdc-accent-dark: #0b5252;--tdc-accent-soft: rgba(15,110,110,0.09);--tdc-del-bg: #fdeeee;--tdc-del-mark: #f6bcbc;--tdc-del-ink: #7f1d1d;--tdc-ins-bg: #e7f5ec;--tdc-ins-mark: #b5e2c3;--tdc-ins-ink: #14532d;--tdc-void: repeating-linear-gradient(135deg,#f5f3ee 0,#f5f3ee 6px,#efece5 6px,#efece5 12px);--tdc-mono: 'JetBrains Mono','SFMono-Regular',Consolas,'Liberation Mono',Menlo,monospace;--tdc-radius: 12px;--primary: var(--tdc-accent);--primary-dark: var(--tdc-accent-dark);--border: var(--tdc-line);--surface: var(--tdc-card);--shadow-soft: 0 6px 22px rgba(31,35,40,0.07);--surface-muted: var(--tdc-paper);--text-main: var(--tdc-ink);--text-muted: var(--tdc-mute);}
.tdc{color: var(--tdc-ink);padding-bottom: 3rem;}
.tdc-byline{display: flex;flex-wrap: wrap;gap: 6px 18px;align-items: center;font-size: 13px;color: var(--tdc-mute);margin: -6px 0 22px;}
.tdc-byline-author a,.tdc-byline .author-link{color: var(--tdc-accent);font-weight: 600;text-decoration: none;}
.tdc-byline-updated::before{content: "";display: inline-block;width: 4px;height: 4px;border-radius: 50%;background: var(--tdc-line-2);margin-right: 10px;vertical-align: middle;}
.tdc-app{background: var(--tdc-card);border: 1px solid var(--tdc-line);border-radius: var(--tdc-radius);box-shadow: var(--shadow-soft);overflow: hidden;}
.tdc-panes{display: grid;grid-template-columns: 1fr 1fr;}
.tdc-pane{display: flex;flex-direction: column;min-width: 0;}
.tdc-pane+.tdc-pane{border-left: 1px solid var(--tdc-line);}
.tdc-pane-head{display: flex;align-items: center;gap: 10px;padding: 12px 16px;border-bottom: 1px solid var(--tdc-line);background: var(--tdc-paper);}
.tdc-pane-head label{margin: 0;font-weight: 700;font-size: 14px;}
.tdc-tag{font-size: 11px;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;padding: 2px 8px;border-radius: 4px;}
.tdc-tag-a{background: var(--tdc-del-bg);color: var(--tdc-del-ink);}
.tdc-tag-b{background: var(--tdc-ins-bg);color: var(--tdc-ins-ink);}
.tdc-file{font-family: var(--tdc-mono);font-size: 12px;color: var(--tdc-mute);overflow: hidden;text-overflow: ellipsis;white-space: nowrap;min-width: 0;}
.tdc-link{margin-left: auto;border: 0;background: none;padding: 0;color: var(--tdc-accent);font-weight: 600;font-size: 13px;cursor: pointer;white-space: nowrap;}
.tdc-link:hover{text-decoration: underline;}
.tdc-input{display: block;width: 100%;min-height: 260px;border: 0;resize: vertical;padding: 14px 16px;font-family: var(--tdc-mono);font-size: 13.5px;line-height: 1.6;color: var(--tdc-ink);background: var(--tdc-card);tab-size: 4;}
.tdc-input:focus{outline: none;box-shadow: inset 0 0 0 2px var(--tdc-accent-soft);}
.tdc-input.is-drop{background: var(--tdc-accent-soft);}
.tdc-pane-foot{padding: 8px 16px;font-size: 12px;color: var(--tdc-mute);border-top: 1px dashed var(--tdc-line);}
.tdc-file-input{display: none;}
.tdc-bar{display: flex;flex-wrap: wrap;align-items: center;gap: 12px 20px;padding: 12px 16px;border-top: 1px solid var(--tdc-line);background: var(--tdc-paper);}
.tdc-seg{display: inline-flex;border: 1px solid var(--tdc-line-2);border-radius: 8px;overflow: hidden;}
.tdc-seg input{position: absolute;opacity: 0;pointer-events: none;}
.tdc-seg label{margin: 0;padding: 6px 12px;font-size: 13px;font-weight: 600;color: var(--tdc-mute);cursor: pointer;background: var(--tdc-card);}
.tdc-seg label+input+label{border-left: 1px solid var(--tdc-line-2);}
.tdc-seg input:checked+label{background: var(--tdc-accent);color: #fff;}
.tdc-seg input:focus-visible+label{outline: 2px solid var(--tdc-accent);outline-offset: -2px;}
.tdc-opts{display: flex;flex-wrap: wrap;gap: 6px 16px;}
.tdc-opt{display: inline-flex;align-items: center;gap: 6px;margin: 0;font-size: 13px;cursor: pointer;}
.tdc-opt input{accent-color: var(--tdc-accent);width: 15px;height: 15px;}
.tdc-actions{display: flex;gap: 8px;margin-left: auto;}
.tdc-btn{border: 1px solid var(--tdc-line-2);background: var(--tdc-card);color: var(--tdc-ink);border-radius: 8px;padding: 6px 12px;font-size: 13px;font-weight: 600;cursor: pointer;white-space: nowrap;}
.tdc-btn:hover:not(:disabled){border-color: var(--tdc-accent);color: var(--tdc-accent);}
.tdc-btn:disabled{opacity: 0.45;cursor: default;}
.tdc-btn-solid{background: var(--tdc-accent);border-color: var(--tdc-accent);color: #fff;}
.tdc-btn-solid:hover:not(:disabled){background: var(--tdc-accent-dark);color: #fff;}
.tdc-result{margin-top: 18px;background: var(--tdc-card);border: 1px solid var(--tdc-line);border-radius: var(--tdc-radius);box-shadow: var(--shadow-soft);overflow: hidden;}
.tdc-result-head{display: flex;flex-wrap: wrap;align-items: center;gap: 10px 16px;padding: 12px 16px;border-bottom: 1px solid var(--tdc-line);}
.tdc-result-head h2{font-size: 15px;font-weight: 700;margin: 0;}
.tdc-stats{display: flex;flex-wrap: wrap;gap: 6px;}
.tdc-chip{font-size: 12px;padding: 3px 9px;border-radius: 999px;background: var(--tdc-paper);border: 1px solid var(--tdc-line);color: var(--tdc-mute);white-space: nowrap;}
.tdc-chip b{font-family: var(--tdc-mono);font-weight: 700;}
.tdc-chip-add b{color: var(--tdc-ins-ink);}
.tdc-chip-del b{color: var(--tdc-del-ink);}
.tdc-chip-mod b{color: #8a5a00;}
.tdc-chip-pct b{color: var(--tdc-accent);}
.tdc-nav{display: flex;align-items: center;gap: 8px;margin-left: auto;flex-wrap: wrap;}
.tdc-pos{font-size: 12px;color: var(--tdc-mute);min-width: 4.5em;text-align: right;}
.tdc-out{max-height: 640px;overflow: auto;position: relative;}
.tdc-out:focus-visible{outline: 2px solid var(--tdc-accent);outline-offset: -2px;}
.tdc-empty{margin: 0;padding: 36px 20px;text-align: center;color: var(--tdc-mute);font-size: 14px;}
.tdc-warn{color: var(--tdc-del-ink);}
.tdc-ok{color: var(--tdc-ins-ink);font-weight: 600;}
.tdc-table{width: 100%;border-collapse: collapse;table-layout: fixed;font-family: var(--tdc-mono);font-size: 13px;line-height: 1.55;}
.tdc-cn{width: 3.6em;}
.tdc-cs{width: 1.7em;}
.tdc-table td{vertical-align: top;padding: 1px 8px;}
.tdc-n{color: #9a9fa8;text-align: right;user-select: none;background: var(--tdc-paper);border-right: 1px solid var(--tdc-line);font-size: 12px;}
.tdc-split .tdc-n+.tdc-c+.tdc-n{border-left: 1px solid var(--tdc-line);}
.tdc-c{white-space: pre-wrap;overflow-wrap: anywhere;height: 1.6em;}
.tdc-s{text-align: center;user-select: none;font-weight: 700;}
.tdc-del,.tdc-row-del td{background: var(--tdc-del-bg);color: var(--tdc-del-ink);}
.tdc-ins,.tdc-row-ins td{background: var(--tdc-ins-bg);color: var(--tdc-ins-ink);}
.tdc-row-del .tdc-n,.tdc-row-ins .tdc-n{background: transparent;}
.tdc-void{background: var(--tdc-void);}
.tdc-table mark{padding: 0 1px;border-radius: 3px;color: inherit;}
.tdc-del mark,.tdc-row-del mark{background: var(--tdc-del-mark);text-decoration: line-through;text-decoration-color: rgba(127,29,29,0.45);}
.tdc-ins mark,.tdc-row-ins mark{background: var(--tdc-ins-mark);}
.tdc-table mark.tdc-ws{text-decoration: none;opacity: 0.85;}
.tdc-fold td{padding: 0;background: var(--tdc-paper);border-top: 1px dashed var(--tdc-line);border-bottom: 1px dashed var(--tdc-line);}
.tdc-fold-btn{display: block;width: 100%;border: 0;background: none;padding: 5px 12px;font-family: inherit;font-size: 12px;color: var(--tdc-accent);cursor: pointer;text-align: left;}
.tdc-fold-btn:hover{background: var(--tdc-accent-soft);}
.tdc-flash td{animation: tdc-flash 1.2s ease-out;}
@keyframes tdc-flash{0%{box-shadow: inset 0 0 0 999px rgba(15,110,110,0.22);}100%{box-shadow: inset 0 0 0 999px rgba(15,110,110,0);}}
.tdc-guide{margin-top: 36px;}
.tdc-guide h2{font-size: 24px;font-weight: 700;margin: 40px 0 12px;}
.tdc-guide h2:first-child{margin-top: 0;}
.tdc-guide p,.tdc-guide li{font-size: 16px;line-height: 1.7;color: #3a4048;}
.tdc-guide ul{padding-left: 1.2rem;}
.tdc-guide li{margin-bottom: 8px;}
.tdc-guide code{font-family: var(--tdc-mono);font-size: 0.9em;background: var(--tdc-paper);border: 1px solid var(--tdc-line);border-radius: 4px;padding: 1px 5px;color: var(--tdc-ink);}
.tdc-guide pre{background: #1f2328;color: #e6e6e6;border-radius: 10px;padding: 16px 18px;font-family: var(--tdc-mono);font-size: 13px;line-height: 1.55;overflow-x: auto;}
.tdc-guide pre code{background: none;border: 0;padding: 0;color: inherit;}
.tdc-guide pre .d{color: #ff9a9a;}
.tdc-guide pre .i{color: #8fe0a8;}
.tdc-guide pre .h{color: #7fc8d8;}
.tdc-legend{display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin: 18px 0;}
.tdc-legend div{border: 1px solid var(--tdc-line);border-radius: 10px;padding: 12px 14px;font-size: 14.5px;line-height: 1.55;background: var(--tdc-card);}
.tdc-legend strong{display: block;margin-bottom: 4px;font-size: 14px;}
.tdc-sw{display: inline-block;width: 10px;height: 10px;border-radius: 2px;margin-right: 6px;vertical-align: 0;}
.tdc-sw-mod{background: linear-gradient(90deg,var(--tdc-del-mark) 50%,var(--tdc-ins-mark) 50%);}
.tdc-sw-ins{background: var(--tdc-ins-mark);}
.tdc-sw-del{background: var(--tdc-del-mark);}
.tdc-sw-eq{background: var(--tdc-line);}
.tdc-table-wrap{overflow-x: auto;margin: 16px 0;}
.tdc-opts-table{width: 100%;border-collapse: collapse;font-size: 15px;min-width: 520px;}
.tdc-opts-table th,.tdc-opts-table td{border-bottom: 1px solid var(--tdc-line);padding: 10px 12px;text-align: left;vertical-align: top;line-height: 1.55;}
.tdc-opts-table th{font-size: 13px;text-transform: uppercase;letter-spacing: 0.05em;color: var(--tdc-mute);background: var(--tdc-paper);}
.tdc-limits li strong{color: var(--tdc-ink);}
.tdc-toast{position: fixed;left: 50%;bottom: 24px;transform: translateX(-50%);background: var(--tdc-ink);color: #fff;padding: 10px 16px;border-radius: 8px;font-size: 14px;box-shadow: 0 8px 24px rgba(0,0,0,0.2);z-index: 1080;max-width: calc(100% - 32px);}
@media (max-width: 860px){.tdc-actions{margin-left: 0;}.tdc-nav{margin-left: 0;width: 100%;}.tdc-pos{text-align: left;}}
@media (max-width: 720px){.tdc-panes{grid-template-columns: 1fr;}.tdc-pane+.tdc-pane{border-left: 0;border-top: 1px solid var(--tdc-line);}.tdc-input{min-height: 180px;}.tdc-legend{grid-template-columns: 1fr;}.tdc-table{font-size: 12px;}.tdc-cn{width: 2.8em;}.tdc-guide h2{font-size: 21px;}}