/* ==========================================================
   Characteristic Curve Digitizer — page chrome
   Load AFTER diyaudiolab-styles.css and diyaudiolab-app.css.
   Only the pieces unique to this page: the canvas surface and
   its toolbar, the calibration grid, the shortcut strip.
   ========================================================== */

.canvas-container {
    position: relative;
    border: 1px solid var(--border);
    border-radius: var(--radius-control);
    overflow: hidden;
    background: var(--panel);
    cursor: crosshair;
}
#graphCanvas { display: block; }

.canvas-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 12px;
}

.mode-indicator {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.3px;
    padding: 4px 9px;
    border-radius: 6px;
    background: var(--panel);
    color: var(--text-secondary);
}
.mode-calibrate { background: var(--dal-amber-200); color: var(--dal-amber-600); }
.mode-digitize  { background: var(--accent-tint); color: var(--dal-blue-800); }

.coords-display {
    display: inline-block;
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--text-secondary);
    background: var(--panel);
    padding: 4px 9px;
    border-radius: 6px;
    margin-left: 6px;
}

.zoom-controls {
    display: flex;
    align-items: center;
    gap: 6px;
}
.zoom-controls span {
    font-family: var(--font-mono);
    font-size: 12px;
    color: var(--text-secondary);
}
.zoom-controls .btn { margin: 0; }

.calibration-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
/* Origin takes two values, so it gets the full width and pairs them */
#cal-origin { grid-column: 1 / -1; }
#cal-origin .calibration-pair {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 6px;
}
.calibration-item {
    background: var(--panel);
    padding: 8px;
    border-radius: var(--radius-control);
    border: 1px solid transparent;
}
.calibration-item.active {
    background: var(--info-bg);
    border-color: var(--link);
}
.calibration-item.set {
    background: var(--success-bg);
    border-color: var(--success);
}
.calibration-item label { font-size: 11px; margin-bottom: 3px; }
.calibration-item input { margin-bottom: 0; padding: 4px 6px; font-size: 12px; }

.keyboard-shortcuts {
    font-size: 12px;
    color: var(--text-secondary);
    background: var(--panel);
    padding: 10px 12px;
    border-radius: var(--radius-control);
    margin-top: 12px;
}
.keyboard-shortcuts kbd { font-size: 11px; background: var(--card); }
