.cv-tool .cv-layout{align-items: flex-start;row-gap: 16px}.cv-field-panel,.cv-side-panel{min-width: 0}.cv-panel-header{gap: 12px}.cv-panel-header>span:first-child{flex: 1;min-width: 0}.cv-panel-header i{margin-right: 6px}.cv-panel-header .cv-hint{flex: 0 1 auto;min-width: 0;text-align: right}.cv-field-body,.cv-side-body{display: flex;flex-direction: column;gap: 14px}.cv-field-body{--cv-field-max: 620px}.cv-hint{color: var(--text-3);font-size: 12.5px;text-align: center}.cv-hint code{padding: 1px 5px;background: var(--bg-soft);border: 1px solid var(--border);border-radius: 4px;font-family: var(--mono);font-size: 11.5px}.cv-hud{display: flex;flex-wrap: wrap;gap: 10px;width: 100%;max-width: var(--cv-field-max);margin: 0 auto}.cv-hud-card{position: relative;flex: 1 1 92px;min-width: 0;padding: 8px 10px;background: var(--bg-soft);border: 1px solid var(--border);border-radius: var(--radius);text-align: center}.cv-hud-card.is-health{flex: 2 1 160px;text-align: left}.cv-hud-label{display: block;color: var(--text-3);font-size: 11.5px;font-weight: 600}.cv-hud-value{display: block;color: var(--text);font-size: 19px;font-weight: 700;line-height: 1.25;font-variant-numeric: tabular-nums}.cv-health-track{display: block;height: 8px;margin-top: 6px;background: var(--border);border-radius: 999px;overflow: hidden}.cv-health-bar{display: block;width: 100%;height: 100%;background: var(--success);border-radius: 999px;transition: width 0.2s ease-out,background 0.2s}.cv-health-bar.is-low{background: var(--danger)}.cv-hud[data-state="idle"] .cv-hud-card.is-health{border-style: dashed}.cv-hud[data-state="run"] .cv-hud-card.is-health{border-color: var(--success)}.cv-hud[data-state="over"] .cv-hud-card.is-health{border-color: var(--danger);background: var(--danger-soft)}.cv-stage{position: relative;width: 100%;max-width: var(--cv-field-max);margin: 0 auto}.cv-field{display: block;width: 100%;height: auto;background: #0c1420;border: 1px solid #1f3244;border-radius: var(--radius);touch-action: none;cursor: crosshair}.cv-field:focus-visible{outline: 2px solid var(--primary);outline-offset: 2px}.cv-overlay{position: absolute;inset: 0;z-index: 6;display: none;flex-direction: column;align-items: center;justify-content: center;gap: 10px;padding: 16px;background: rgba(12,20,32,0.86);border-radius: var(--radius);text-align: center}.cv-overlay.is-on{display: flex}.cv-overlay-title{color: #ff8f8f;font-size: 26px;font-weight: 800}.cv-overlay-text{max-width: 420px;color: #dbe7f0;font-size: 13.5px;line-height: 1.6}.cv-overlay-actions{display: flex;flex-wrap: wrap;gap: 8px;justify-content: center;margin-top: 2px}.cv-message{display: none;width: 100%;max-width: var(--cv-field-max);margin: 0 auto;padding: 8px 10px;background: var(--info-soft);border: 1px solid var(--info);border-radius: var(--radius);color: #0f5f6d;font-size: 13px;text-align: center}.cv-message.is-on{display: block}.cv-message.is-error{background: var(--danger-soft);border-color: var(--danger);color: #991b1b}.cv-message.is-good{background: var(--success-soft);border-color: var(--success);color: #15803d}:root[data-theme="dark"] .cv-message{color: var(--info)}:root[data-theme="dark"] .cv-message.is-error{color: var(--danger)}:root[data-theme="dark"] .cv-message.is-good{color: var(--success)}.cv-label{display: flex;flex-direction: column;gap: 6px;min-width: 0;margin: 0;color: var(--text-2);font-size: 13.5px;font-weight: 600}.cv-label .form-control{width: 100%;min-width: 0;padding-top: 8px;padding-bottom: 8px;font-size: 14px}.cv-row{display: flex;flex-wrap: wrap;gap: 12px}.cv-row-item{flex: 1 1 140px;min-width: 0}.cv-check{display: flex;align-items: center;gap: 7px;min-width: 0;color: var(--text-2);font-size: 13.5px;font-weight: 600}.cv-check input{flex: 0 0 auto;margin: 0}.cv-action-row{display: flex;flex-wrap: wrap;gap: 8px}.cv-action-row .btn{flex: 0 1 auto;min-width: 0}.cv-action-row .btn.is-active{background: var(--primary-soft);border-color: var(--primary);color: var(--primary)}.cv-stats{display: grid;grid-template-columns: repeat(auto-fit,minmax(92px,1fr));gap: 10px}.cv-stat{padding: 8px 10px;background: var(--bg-soft);border: 1px solid var(--border);border-radius: var(--radius);text-align: center}.cv-stat-label{display: block;color: var(--text-3);font-size: 11.5px;font-weight: 600}.cv-stat-value{display: block;color: var(--text);font-size: 16px;font-weight: 700;font-variant-numeric: tabular-nums}.cv-progress-row{display: flex;flex-wrap: wrap;align-items: center;gap: 10px}.cv-progress{flex: 1 1 140px;min-width: 0;height: 8px;appearance: none;border: none;background: var(--bg-soft);border-radius: 999px;overflow: hidden}.cv-progress::-webkit-progress-bar{background: var(--bg-soft);border-radius: 999px}.cv-progress::-webkit-progress-value{background: var(--success);border-radius: 999px}.cv-progress::-moz-progress-bar{background: var(--success);border-radius: 999px}.cv-progress-text{flex: 0 1 auto;min-width: 0;color: var(--text-3);font-size: 12.5px;white-space: nowrap}.cv-note{padding: 9px 11px;background: var(--bg-soft);border: 1px solid var(--border);border-radius: var(--radius);color: var(--text-2);font-size: 12.5px;line-height: 1.6}.cv-note i{margin-right: 5px;color: var(--info)}.cv-samples{display: flex;flex-direction: column;gap: 12px;margin-top: 12px}.cv-sample{display: flex;flex-direction: column;gap: 6px;padding: 12px 14px;background: var(--bg-soft);border: 1px solid var(--border);border-radius: var(--radius)}.cv-sample-head{display: flex;flex-wrap: wrap;align-items: center;justify-content: space-between;gap: 8px 12px}.cv-sample-head strong{flex: 1 1 auto;min-width: 0;color: var(--text);font-size: 14px}.cv-sample p{margin: 0;color: var(--text-2);font-size: 13.5px}.cv-sample code{padding: 1px 5px;background: #fff;border: 1px solid var(--border);border-radius: 4px;font-family: var(--mono);font-size: 12.5px}:root[data-theme="dark"] .cv-sample code{background: var(--bg);color: var(--text-2)}.cv-chip{flex: 0 0 auto}@media (max-width: 767px){.cv-hud,.cv-message,.cv-stage{max-width: 100%}.cv-panel-header{flex-wrap: wrap}.cv-panel-header>span:first-child{flex: 0 1 auto;white-space: nowrap}.cv-panel-header .cv-hint{flex: 1 1 100%;text-align: left}.cv-hud-value{font-size: 17px}.cv-overlay-title{font-size: 22px}}