.dt-tool{width:100%}.dt-card{max-width:720px;margin-inline:auto;background:var(--surface-1);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);padding:var(--space-4);border:1px solid transparent;background:linear-gradient(var(--surface-1),var(--surface-1)) padding-box,linear-gradient(130deg,color-mix(in srgb,var(--tool-accent, var(--signal-cyan)) 50%,var(--border)),var(--border) 38%,var(--border) 62%,color-mix(in srgb,var(--studio-blue) 45%,var(--border))) border-box}.dt-card--wide{max-width:var(--width-results)}.dt-form{display:grid;grid-template-columns:1fr;gap:var(--space-3)}@media(min-width:640px){.dt-form--row{grid-template-columns:1fr auto;align-items:end}}.dt-field{display:grid;gap:var(--space-1)}.dt-field label{font:var(--text-label);letter-spacing:.02em;text-transform:uppercase;color:var(--text-muted)}.dt-field input,.dt-field select,.dt-field textarea{width:100%;padding:11px 14px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font:var(--text-body);appearance:none;-webkit-appearance:none;transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.dt-field textarea{font:var(--text-code);resize:vertical;min-height:88px}.dt-field input::placeholder,.dt-field textarea::placeholder{color:var(--text-muted)}.dt-field input:focus-visible,.dt-field select:focus-visible,.dt-field textarea:focus-visible{outline:none;border-color:var(--action);box-shadow:0 0 0 3px color-mix(in srgb,var(--action) 22%,transparent)}.dt-field select{background-image:linear-gradient(45deg,transparent 50%,var(--text-muted) 50%),linear-gradient(135deg,var(--text-muted) 50%,transparent 50%);background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%;background-size:5px 5px;background-repeat:no-repeat;padding-right:34px}.dt-hint{font:var(--text-small);color:var(--text-muted)}.dt-submit{white-space:nowrap;transition:background var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}.dt-submit:hover{transform:translateY(-1px);box-shadow:0 6px 18px color-mix(in srgb,var(--action) 40%,transparent)}.dt-submit:active{transform:translateY(0)}.dt-submit:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}.dt-options{display:flex;justify-content:flex-end;margin-top:var(--space-2)}.dt-form-error{margin-top:var(--space-3);color:var(--status-fail);font:var(--text-small)}.dt-results{max-width:var(--width-results);margin:var(--space-4) auto 0;display:grid;gap:var(--space-3)}.dt-empty{text-align:center;padding:var(--space-5) var(--space-4);border:1px dashed var(--border);border-radius:var(--radius-lg)}.dt-empty-title{color:var(--text-primary);font-weight:600}.dt-empty-sub{color:var(--text-muted);font:var(--text-small);margin-top:var(--space-1)}.dt-banner{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:var(--space-4);display:grid;gap:var(--space-2);border-left:3px solid var(--status-info)}.dt-banner.is-pass{border-left-color:var(--status-pass)}.dt-banner.is-warning{border-left-color:var(--status-warning)}.dt-banner.is-fail{border-left-color:var(--status-fail)}.dt-banner.is-info{border-left-color:var(--status-info)}@media(prefers-reduced-motion:no-preference){.dt-banner,.dt-panel{animation:dt-rise var(--dur-slow) var(--ease-out) both}@keyframes dt-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}}.dt-banner-title{font:var(--text-h3);color:var(--text-primary);overflow-wrap:anywhere}.dt-banner-detail{color:var(--text-secondary);font:var(--text-small)}.dt-progress{height:6px;background:var(--surface-3);border-radius:var(--radius-sm);overflow:hidden}.dt-progress-fill{height:100%;width:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--studio-blue),var(--signal-cyan),var(--studio-blue));background-size:200% 100%}@media(prefers-reduced-motion:no-preference){.dt-progress-fill{animation:dt-flow 1.6s linear infinite}@keyframes dt-flow{0%{background-position:0% 0}to{background-position:-200% 0}}}.dt-checklist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-2)}.dt-checklist li{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:var(--space-1)}.dt-checklist .dt-check-name{color:var(--text-muted);font:var(--text-label);letter-spacing:.02em;text-transform:uppercase}.dt-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-4);display:grid;gap:var(--space-3)}.dt-panel-title{font:var(--text-h3);color:var(--text-primary);display:flex;align-items:baseline;gap:var(--space-2);flex-wrap:wrap}.dt-panel-count{color:var(--text-muted);font:var(--text-small)}.dt-record{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:var(--space-2)}.dt-record.is-expired{border-color:color-mix(in srgb,var(--status-fail) 55%,var(--border))}.dt-kv{display:grid;grid-template-columns:1fr;gap:4px var(--space-4);font:var(--text-small);color:var(--text-secondary)}@media(min-width:640px){.dt-kv{grid-template-columns:1fr 1fr}}.dt-kv strong{color:var(--text-primary);font-weight:600}.dt-kv .dt-mono{font:var(--text-code);overflow-wrap:anywhere}.dt-kv .is-bad{color:var(--status-fail)}.dt-raw{font:var(--text-code);background:var(--surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);overflow-wrap:anywhere;color:var(--text-secondary)}.dt-raw strong{color:var(--text-primary);font-weight:600}.dt-note{font:var(--text-small);color:var(--text-muted)}.dt-json summary{cursor:pointer;color:var(--accent);font:var(--text-small)}.dt-json pre{margin-top:var(--space-2);font:var(--text-code);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);overflow:auto;max-height:420px}.dt-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.dt-actions-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.dt-actions .btn{padding:8px 16px;font:var(--text-small);font-weight:600}.dt-actions .btn:disabled{opacity:.55;cursor:not-allowed}.dt-chain{display:grid;gap:0;justify-items:stretch}.dt-chain-step{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:grid;gap:var(--space-1)}.dt-chain-step.is-pass{border-left:3px solid var(--status-pass)}.dt-chain-step.is-warning{border-left:3px solid var(--status-warning)}.dt-chain-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.dt-chain-name{color:var(--text-primary);font-weight:600;overflow-wrap:anywhere}.dt-chain-meta{font:var(--text-code);color:var(--text-muted)}.dt-chain-link{width:2px;height:22px;margin-left:var(--space-5);background:linear-gradient(var(--border),color-mix(in srgb,var(--tool-accent, var(--signal-cyan)) 60%,var(--border)))}.dt-timeline{list-style:none;margin:0;padding:0;display:grid}.dt-event{display:grid;grid-template-columns:14px 1fr;gap:var(--space-3)}.dt-event-rail{display:grid;justify-items:center;grid-template-rows:18px 1fr}.dt-event-dot{width:10px;height:10px;border-radius:50%;background:var(--status-info);margin-top:6px}.dt-event.is-key .dt-event-dot{background:var(--tool-accent, var(--signal-cyan))}.dt-event.is-sig .dt-event-dot{background:var(--status-pass)}.dt-event.is-expired .dt-event-dot{background:var(--status-fail)}.dt-event-line{width:2px;background:var(--border)}.dt-event:last-child .dt-event-line{display:none}.dt-event-body{padding-bottom:var(--space-4);display:grid;gap:var(--space-1)}.dt-event-tags{display:flex;gap:var(--space-2);flex-wrap:wrap}.dt-tag{font:var(--text-label);letter-spacing:.02em;text-transform:uppercase;color:var(--text-secondary);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 8px}.dt-event-desc{color:var(--text-secondary);font:var(--text-small);overflow-wrap:anywhere}.dt-event-time{font:var(--text-code);color:var(--text-muted)}.dt-output{display:grid;gap:var(--space-2)}.dt-output textarea{width:100%;padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font:var(--text-code);resize:vertical}.dt-crypto-rows{display:grid;gap:0;border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden;margin-top:var(--space-2)}.dt-crypto-row{display:flex;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:var(--surface-1);border-left:3px solid var(--border);align-items:baseline}.dt-crypto-row+.dt-crypto-row{border-top:1px solid var(--border)}.dt-crypto-row.is-pass{border-left-color:var(--status-pass, #22c55e)}.dt-crypto-row.is-fail{border-left-color:var(--status-fail, #ef4444)}.dt-crypto-row.is-warning{border-left-color:var(--status-warning, #f59e0b)}.dt-crypto-row.is-neutral{border-left-color:var(--text-muted)}.dt-crypto-label{color:var(--text-muted)}.dt-crypto-val{color:var(--text-primary);text-align:right;word-break:break-word}.dt-crypto-keys{display:grid;gap:6px;margin-top:var(--space-3)}.dt-crypto-key{display:flex;align-items:center;gap:var(--space-3)}.dt-key-badge{font:var(--text-label);font-weight:700;padding:2px 8px;border-radius:999px}.dt-key-badge.is-ksk{color:var(--tool-accent, var(--action));border:1px solid var(--tool-accent, var(--action))}.dt-key-badge.is-zsk{color:var(--text-secondary);border:1px solid var(--border)}
