@import url('https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@400;700&family=Noto+Sans+JP:wght@400;700&display=swap');

:root {
    --bg-color: #1a1a1a;
    --panel-bg: #2c2c2c;
    --text-color: #e0e0e0;
    --primary-color: #ff3399; /* A slightly unsettling pink */
    --border-color: #444;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: var(--bg-color);
    color: var(--text-color);
    margin: 0;
    padding: 20px;
    line-height: 1.7;
}

header {
    text-align: center;
    margin-bottom: 3em;
}

header h1 {
    font-family: 'Roboto Mono', monospace;
    color: var(--primary-color);
    font-size: 1.8em;
    margin: 0;
    animation: flicker 5s infinite alternate;
}

.subtitle {
    font-family: 'Roboto Mono', monospace;
    font-size: 0.9em;
    color: #aaa;
    margin-top: 5px;
}

main {
    max-width: 800px;
    margin: 0 auto;
}

.exhibit {
    display: flex;
    flex-wrap: wrap;
    background-color: var(--panel-bg);
    border: 1px solid var(--border-color);
    margin-bottom: 2em;
    padding: 2em;
}

.component-area {
    flex: 1;
    min-width: 250px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2em;
}

.description-area {
    flex: 2;
    min-width: 300px;
    padding-left: 2em;
    border-left: 1px solid var(--border-color);
}
.description-area h2 {
    font-family: 'Roboto Mono', monospace;
    color: var(--primary-color);
    margin-top: 0;
}

/* --- Actor A: Shy Button --- */
.unsettling-button {
    padding: 15px 30px;
    font-size: 1.2em;
    font-family: 'Roboto Mono', monospace;
    background-color: #333;
    color: var(--text-color);
    border: 1px solid var(--border-color);
    cursor: pointer;
    position: relative; /* For movement */
    transition: transform 0.2s ease-out; /* Smooth escape */
}
.unsettling-button:hover { background-color: #444; }

/* --- Actor B: Stubborn Slider --- */
.slider-container { text-align: center; width: 100%; }
.unsettling-slider { width: 80%; }
#slider-value { margin-top: 1em; font-family: 'Roboto Mono', monospace; font-size: 1.5em; }

/* --- Actor C: Forgetful Checkbox --- */
.checkbox-container { display: block; position: relative; padding-left: 35px; margin-bottom: 12px; cursor: pointer; font-size: 1.2em; user-select: none; }
.checkbox-container input { position: absolute; opacity: 0; cursor: pointer; height: 0; width: 0; }
.checkmark { position: absolute; top: 0; left: 0; height: 25px; width: 25px; background-color: #333; border: 1px solid var(--border-color); }
.checkbox-container:hover input ~ .checkmark { background-color: #444; }
.checkbox-container input:checked ~ .checkmark { background-color: var(--primary-color); }
.checkmark:after { content: ""; position: absolute; display: none; }
.checkbox-container input:checked ~ .checkmark:after { display: block; }
.checkbox-container .checkmark:after { left: 9px; top: 5px; width: 5px; height: 10px; border: solid white; border-width: 0 3px 3px 0; transform: rotate(45deg); }

footer {
    margin-top: 3em;
    text-align: center;
    font-family: 'Roboto Mono', monospace;
    font-size: 0.8em;
    color: #888;
}

@keyframes flicker {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.95; }
}