.tool-shell{display:flex;flex-direction:column;gap:var(--space-6)}.tool-panel{border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-surface);box-shadow:var(--shadow-inset-highlight);overflow:hidden}.tool-panel__head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);flex-wrap:wrap}.tool-panel__title{font-size:var(--text-lg);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight)}.tool-panel__body{padding:var(--space-6)}.tool-panel__note{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:#ffffff04;color:var(--color-text-muted);font-size:var(--text-sm)}.tool-score{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap}.tool-score__ring{position:relative;width:132px;height:132px;flex-shrink:0}.tool-score__ring svg{width:100%;height:100%;transform:rotate(-90deg)}.tool-score__track{stroke:var(--color-border)}.tool-score__value{transition:stroke-dashoffset var(--duration-slower) var(--ease-out)}.tool-score__num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.tool-score__num b{font-size:var(--text-4xl);font-weight:var(--font-semibold);line-height:1;letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums}.tool-score__num span{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.tool-score__copy{flex:1 1 260px}.tool-score__verdict{font-size:var(--text-2xl);font-weight:var(--font-semibold);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-2)}.tool-score__copy p{color:var(--color-text-secondary);font-size:var(--text-base);margin:0}.is-good{color:var(--color-success)}.is-bad{color:var(--color-danger)}.is-warn{color:var(--color-warning)}.stroke-good{stroke:var(--color-success)}.stroke-bad{stroke:var(--color-danger)}.stroke-warn{stroke:var(--color-warning)}.tool-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.tool-stat{background:var(--color-bg-surface-2);padding:var(--space-4) var(--space-5);display:flex;flex-direction:column;gap:2px}.tool-stat b{font-size:var(--text-3xl);font-weight:var(--font-semibold);line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-tight)}.tool-stat span{font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.tool-results{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.tool-row{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface-2);font-size:var(--text-sm)}.tool-row:last-child{border-bottom:none}.tool-row__dot{width:8px;height:8px;border-radius:var(--radius-full);justify-self:center}.dot-good{background:var(--color-success)}.dot-bad{background:var(--color-danger)}.dot-warn{background:var(--color-warning)}.dot-idle{background:var(--color-muted-2)}.tool-row__name{min-width:0;display:flex;flex-direction:column;gap:1px}.tool-row__domain{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-primary);overflow-wrap:anywhere}.tool-row__meta{font-size:var(--text-xs);color:var(--color-text-muted)}.tool-row__state{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;white-space:nowrap}.tool-group{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-bg-surface-3);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-secondary);font-weight:var(--font-semibold)}.tool-progress{height:3px;background:var(--color-border);border-radius:var(--radius-full);overflow:hidden}.tool-progress__bar{height:100%;background:var(--color-accent);transition:width var(--duration-fast) linear}.tool-form{display:flex;gap:var(--space-3);flex-wrap:wrap}.tool-input{flex:1 1 260px;min-width:0;height:40px;padding:0 var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm)}.tool-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px;border-color:transparent}.tool-input::placeholder{color:var(--color-muted-2)}.tool-select{height:40px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-base);color:var(--color-text-primary);font-size:var(--text-sm)}.tool-field{display:flex;flex-direction:column;gap:var(--space-2)}.tool-label{font-size:var(--text-xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--font-semibold)}.tool-grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.tool-output{position:relative;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-base);overflow:hidden}.tool-output pre{margin:0;padding:var(--space-4) var(--space-5);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.7;color:var(--color-code);white-space:pre}.tool-output__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface-3);font-size:var(--text-xs);color:var(--color-text-muted);letter-spacing:var(--tracking-wide);text-transform:uppercase}.tool-msg{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg-surface-2);font-size:var(--text-sm);color:var(--color-text-secondary)}.tool-msg--error{border-color:#ff616152;background:#ff616112;color:var(--color-text-primary)}.tool-msg--warn{border-color:#ffc5334d;background:#ffc5330f;color:var(--color-text-primary)}.tools-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(268px,1fr));gap:var(--space-4);margin-bottom:var(--space-12)}.tool-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-xl);background:var(--color-bg-surface);box-shadow:var(--shadow-inset-highlight);text-decoration:none;color:inherit;transition:border-color var(--transition-fast),transform var(--transition-fast),background var(--transition-fast)}.tool-card:hover{border-color:var(--color-border-strong);background:var(--color-bg-surface-hover);transform:translateY(-2px);color:inherit}.tool-card h3{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-text-primary)}.tool-card p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0;line-height:1.55}.tool-card__go{margin-top:auto;padding-top:var(--space-3);font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-accent)}.tools-cat{margin-bottom:var(--space-4)}.tools-cat h2{font-size:var(--text-2xl);margin-bottom:var(--space-1)}.tools-cat p{color:var(--color-text-muted);font-size:var(--text-base);margin:0}.tool-related{display:flex;flex-wrap:wrap;gap:var(--space-2);padding-top:var(--space-4)}.tool-related a{font-size:var(--text-sm);padding:5px var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);background:#ffffff05}.tool-related a:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}.tool-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:640px){.tool-panel__body{padding:var(--space-5) var(--space-4)}.tool-panel__head{padding:var(--space-4)}.tool-score{gap:var(--space-4)}.tool-score__ring{width:104px;height:104px}}
