ijsbreker/style.css
Frank Meeuwsen da06d6bf00 feat: startscherm met controle over timer toegevoegd
Startscherm met groene "Start IJsbreker" knop geïmplementeerd.
Timer begint nu pas na klik op startknop in plaats van automatisch bij laden.
Facilitator heeft volledige controle over startmoment van de presentatie.

Wijzigingen:
- index.html: Startscherm HTML toegevoegd
- style.css: Styling voor start-screen en start-button
- app.js: Flow aangepast met showStartScreen() en startGame()
- Spatiebalk werkt op startscherm voor snelle start
- Documentatie geüpdatet in CLAUDE.md, gemini.md en agents.md

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-07 10:01:22 +01:00

212 lines
3.8 KiB
CSS

/* Reset en basis styling */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
overflow: hidden;
background: #1a1a1a;
}
/* Container voor alle schermen */
.container {
width: 100vw;
height: 100vh;
position: relative;
}
/* Timer border animatie rondom scherm */
.timer-border {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
pointer-events: none;
z-index: 1000;
}
.timer-bar {
position: absolute;
background: white;
}
/* Top balk */
.timer-top {
top: 0;
left: 0;
height: 8px;
width: 0;
}
/* Right balk */
.timer-right {
top: 0;
right: 0;
width: 8px;
height: 0;
}
/* Bottom balk */
.timer-bottom {
bottom: 0;
right: 0;
height: 8px;
width: 0;
}
/* Left balk */
.timer-left {
bottom: 0;
left: 0;
width: 8px;
height: 0;
}
/* Timer animatie - elke balk is 1/4 van totale tijd */
.timer-active .timer-top {
animation: fillWidth calc(var(--timer-duration) / 4) linear forwards;
}
.timer-active .timer-right {
animation: fillHeight calc(var(--timer-duration) / 4) linear forwards;
animation-delay: calc(var(--timer-duration) / 4);
}
.timer-active .timer-bottom {
animation: fillWidth calc(var(--timer-duration) / 4) linear forwards;
animation-delay: calc(var(--timer-duration) / 2);
}
.timer-active .timer-left {
animation: fillHeight calc(var(--timer-duration) / 4) linear forwards;
animation-delay: calc(var(--timer-duration) * 3 / 4);
}
@keyframes fillWidth {
from { width: 0; }
to { width: 100vw; }
}
@keyframes fillHeight {
from { height: 0; }
to { height: 100vh; }
}
/* Stellingen scherm - 50/50 split */
.statement-screen {
display: flex;
width: 100%;
height: 100%;
}
.statement {
flex: 1;
display: flex;
align-items: center;
justify-content: center;
padding: 2rem;
}
.statement p {
color: white;
font-weight: bold;
text-align: center;
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3);
line-height: 1.4;
}
/* Overlay met knop (over stellingen heen) */
.overlay {
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
display: flex;
align-items: center;
justify-content: center;
background: rgba(0, 0, 0, 0.7);
z-index: 500;
}
.next-button {
padding: 1.5rem 3rem;
font-size: 1.5rem;
font-weight: bold;
color: white;
background: #3B82F6;
border: none;
border-radius: 12px;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 4px 12px rgba(59, 130, 246, 0.4);
}
.next-button:hover {
background: #2563EB;
transform: translateY(-2px);
box-shadow: 0 6px 16px rgba(59, 130, 246, 0.6);
}
.next-button:active {
transform: translateY(0);
}
/* Start scherm */
.start-screen {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: #1a1a1a;
}
.start-button {
padding: 2rem 4rem;
font-size: 2rem;
font-weight: bold;
color: white;
background: #10b981;
border: none;
border-radius: 16px;
cursor: pointer;
transition: all 0.3s ease;
box-shadow: 0 6px 16px rgba(16, 185, 129, 0.4);
}
.start-button:hover {
background: #059669;
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(16, 185, 129, 0.6);
}
.start-button:active {
transform: translateY(0);
}
/* Eind scherm */
.finish-screen {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 100%;
background: #1a1a1a;
}
.finish-screen h1 {
color: white;
font-weight: bold;
text-align: center;
padding: 2rem;
}
/* Helper classes */
.hidden {
display: none !important;
}