/* =================================================================== */
/* 페이지 특정 CSS (타이머/스톱워치용)                                  */
/* =================================================================== */
.tool-panel { display: none; }
.tool-panel.active { display: block; }

.timer-display-wrapper {
    position: relative;
    width: 280px;
    height: 280px;
    margin: var(--rg-spacing-large) auto;
}
.timer-progress-circle {
    transform: rotate(-90deg);
}
.timer-progress-circle circle {
    fill: none;
    stroke-width: 15;
}
.progress-bg { stroke: var(--rg-color-secondary); }
.progress-bar {
    stroke: var(--rg-color-primary);
    stroke-linecap: round;
    transition: stroke-dashoffset 1s linear;
}
.time-display {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-family: 'Courier New', Courier, monospace;
    font-size: 3.5rem;
    font-weight: 700;
    color: var(--rg-color-text);
}
.timer-inputs {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-bottom: var(--rg-spacing-large);
}
.timer-inputs .rg_form_input {
    width: 80px;
    font-size: 1.5rem;
    text-align: center;
}
.controls {
    display: flex;
    justify-content: center;
    gap: 10px;
}

/* 스톱워치 */
.lap-list-wrapper {
    max-height: 300px;
    overflow-y: auto;
    margin-top: var(--rg-spacing-large);
    border: 1px solid var(--rg-color-border);
    border-radius: var(--rg-border-radius);
}
.lap-list {
    list-style: none;
    padding: 0;
    font-family: 'Courier New', Courier, monospace;
}
.lap-list li {
    display: flex;
    justify-content: space-between;
    padding: 12px var(--rg-spacing);
    border-bottom: 1px solid var(--rg-color-border);
}
.lap-list li:last-child { border-bottom: none; }
.lap-num { font-weight: 600; color: var(--rg-color-text-secondary); }
.lap-time { font-weight: 700; color: var(--rg-color-text); }