.btl-lede{font-size:1.08rem;line-height:1.7;color:var(--btl-text-muted,#475569);max-width:72ch}
.btl-privacy-strip{margin:1rem 0 1.5rem;padding:.9rem 1rem;border:1px solid var(--btl-border,#dbe3ee);border-radius:12px;background:var(--btl-panel-soft,#f8fafc);font-size:.95rem}
.btl-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin:1.5rem 0 2rem}
.btl-tool-card,.btl-related-link{display:flex;flex-direction:column;gap:.45rem;text-decoration:none;border:1px solid var(--btl-border,#dbe3ee);border-radius:14px;background:var(--btl-panel,#fff);padding:1rem;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease;color:inherit}
.btl-tool-card:hover,.btl-related-link:hover{transform:translateY(-1px);border-color:var(--btl-blue,#2563eb);box-shadow:0 8px 22px rgba(15,23,42,.08)}
.btl-card-title{font-weight:700;color:var(--btl-heading,#0f172a)}
.btl-tool-shell{margin:1.4rem 0 2rem;border:1px solid var(--btl-border,#dbe3ee);border-radius:16px;background:var(--btl-panel,#fff);overflow:hidden;box-shadow:0 8px 30px rgba(15,23,42,.06)}
.btl-tool-status{padding:.7rem 1rem;border-bottom:1px solid var(--btl-border,#dbe3ee);background:var(--btl-panel-soft,#f8fafc);font-size:.88rem;color:var(--btl-text-muted,#475569)}
.btl-engine{padding:1rem}
.btl-result-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;padding:.85rem 1rem;border-top:1px solid var(--btl-border,#dbe3ee);background:var(--btl-panel-soft,#f8fafc)}
.btl-result-actions[hidden]{display:none}
.btl-result-action-status{font-size:.85rem;color:var(--btl-text-muted,#64748b);margin-left:.15rem}

.btl-controls{display:flex;flex-wrap:wrap;gap:.75rem;align-items:end;margin-bottom:1rem}
.btl-field{display:flex;flex-direction:column;gap:.35rem;min-width:140px;flex:1 1 160px}
.btl-field label{font-size:.85rem;font-weight:650;color:var(--btl-heading,#0f172a)}
.btl-input,.btl-select{width:100%;box-sizing:border-box;border:1px solid var(--btl-border-strong,#bdc8d8);border-radius:10px;background:var(--btl-input-bg,#fff);color:var(--btl-text,#1e293b);padding:.68rem .75rem;font:inherit}
.btl-input:focus,.btl-select:focus{outline:3px solid color-mix(in srgb,var(--btl-blue,#2563eb) 18%,transparent);border-color:var(--btl-blue,#2563eb)}
.btl-button{appearance:none;border:0;border-radius:10px;padding:.68rem .95rem;background:var(--btl-blue,#2563eb);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.btl-button:hover{filter:brightness(.96)}
.btl-button:disabled{opacity:.5;cursor:not-allowed}
.btl-button-secondary{background:var(--btl-navy,#0b1220)}
.btl-button-quiet{background:var(--btl-panel-soft,#e8eef6);color:var(--btl-heading,#0f172a)}
.btl-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin:1rem 0}
.btl-metric{border:1px solid var(--btl-border,#dbe3ee);border-radius:12px;padding:.85rem;background:var(--btl-panel-soft,#f8fafc)}
.btl-metric-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--btl-text-muted,#64748b)}
.btl-metric-value{font-size:1.4rem;font-weight:750;color:var(--btl-heading,#0f172a);margin-top:.2rem;word-break:break-word}
.btl-metric-value.mono,.btl-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace;font-size:.95rem}
.btl-test-area{position:relative;min-height:260px;border:1px dashed var(--btl-border-strong,#94a3b8);border-radius:14px;background:var(--btl-panel-soft,#f8fafc);display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;touch-action:none;user-select:none}
.btl-test-area.btl-active{border-style:solid;border-color:var(--btl-teal,#14b8a6)}
.btl-log{max-height:230px;overflow:auto;background:var(--btl-code-bg,#07111f);color:#d7e3f4;border-radius:12px;padding:.8rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;line-height:1.5;white-space:pre-wrap}
.btl-alert{padding:.75rem .9rem;border-radius:10px;margin:.8rem 0;border:1px solid transparent}
.btl-alert-info{background:var(--btl-info-bg,#eff6ff);border-color:var(--btl-info-border,#bfdbfe)}
.btl-alert-success{background:var(--btl-success-bg,#ecfdf5);border-color:var(--btl-success-border,#a7f3d0)}
.btl-alert-warn{background:var(--btl-warn-bg,#fff7ed);border-color:var(--btl-warn-border,#fed7aa)}
.btl-alert-error{background:var(--btl-error-bg,#fef2f2);border-color:var(--btl-error-border,#fecaca)}
.btl-copy-section,.btl-related{margin:2rem 0}.btl-copy-section h2,.btl-related h2{font-size:1.2rem}.btl-copy-section li{margin:.45rem 0;line-height:1.6}
.btl-related-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}
.btl-display-pattern{width:100%;min-height:360px;border-radius:12px;overflow:hidden;position:relative;background:#000}
.btl-fullscreen-stage:fullscreen{width:100vw;height:100vh;border-radius:0;display:flex;align-items:center;justify-content:center;background:#000}
.btl-fullscreen-stage:fullscreen .btl-display-pattern{width:100vw;height:100vh;border-radius:0}
.btl-swatch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem}
.btl-swatch{min-height:90px;border-radius:10px;border:1px solid rgba(127,127,127,.35);display:flex;align-items:end;padding:.5rem;font-size:.78rem;font-weight:700}
.btl-keyboard{display:grid;grid-template-columns:repeat(15,minmax(30px,1fr));gap:.35rem;margin:1rem 0}.btl-key{min-height:42px;border:1px solid var(--btl-border,#cbd5e1);border-radius:7px;background:var(--btl-panel-soft,#f8fafc);display:flex;align-items:center;justify-content:center;font-size:.76rem}.btl-key.is-down{background:var(--btl-teal,#14b8a6);color:#042f2e;border-color:transparent}
.btl-gamepad-viz{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem}.btl-stick{width:160px;height:160px;border-radius:50%;border:2px solid var(--btl-border-strong,#94a3b8);position:relative;margin:auto;background:radial-gradient(circle,var(--btl-panel,#fff),var(--btl-panel-soft,#f8fafc))}.btl-stick-dot{position:absolute;width:16px;height:16px;border-radius:50%;background:var(--btl-blue,#2563eb);left:72px;top:72px;transform:translate(0,0)}
.btl-video{width:100%;max-height:520px;background:#020617;border-radius:12px}.btl-meter{height:14px;background:var(--btl-panel-soft,#e2e8f0);border-radius:999px;overflow:hidden}.btl-meter>span{display:block;height:100%;width:0;background:var(--btl-teal,#14b8a6);transition:width .08s linear}
.btl-touch-dot{position:absolute;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--btl-blue,#2563eb) 55%,transparent);border:2px solid var(--btl-blue,#2563eb);transform:translate(-50%,-50%);pointer-events:none}
.btl-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.9rem}.btl-table th,.btl-table td{padding:.55rem .65rem;border-bottom:1px solid var(--btl-border,#e2e8f0);text-align:left;vertical-align:top}.btl-table th{color:var(--btl-heading,#0f172a)}
.btl-pattern-motion{position:absolute;inset:0;background:linear-gradient(90deg,#000 0 48%,#fff 48% 52%,#000 52%);background-size:220px 100%;animation:btl-motion 1.25s linear infinite}@keyframes btl-motion{to{background-position:220px 0}}
@media(max-width:650px){.btl-engine{padding:.8rem}.btl-test-area{min-height:220px}.btl-keyboard{grid-template-columns:repeat(10,minmax(26px,1fr))}}
