Kiosk DOM structure

Structural map of kiosk/index.html. For behaviour, constraints and tuning see KIOSK.md.

<body> holds three sibling screens. Exactly one is display: block at a time; showScreen() in kiosk.js toggles them.

body
├── div#screen-events.screen.kiosk      two-pane event slide
│   ├── div#text-side                   left pane
│   │   ├── img#startup-logo
│   │   ├── h2#coming-events
│   │   ├── hr
│   │   ├── div.badge-row
│   │   │   └── span.date-badge
│   │   ├── h1#event-title
│   │   ├── div.meta
│   │   │   ├── div#date
│   │   │   └── div#location
│   │   └── p#kuvaus
│   ├── div#image-side                  right pane
│   │   └── img#event-img
│   ├── div#countdown-box               bottom-pinned, NOT inside #text-side
│   │   ├── div.count-label
│   │   └── div#countdown-num
│   └── div.qr-row                      bottom-pinned
│       └── img.qr-code
│
├── div#screen-special.screen           full-bleed takeover (special: true)
│   ├── div#sp-bg                       cover image, 10% opacity
│   ├── div#sp-veil                     navy gradient wash
│   ├── div#sp-shape-a / div#sp-shape-b angled brand blocks
│   ├── div#sp-rail                     persistent top rail
│   │   ├── span#sp-rocket-ship ...     (see flyby below)
│   │   ├── img#sp-logo
│   │   └── div#sp-rail-count           split-flap countdown
│   ├── div#sp-stage                    exactly one act visible
│   │   ├── div#sp-act-hype.sp-act
│   │   ├── div#sp-act-count.sp-act
│   │   └── div#sp-act-cta.sp-act
│   ├── div#sp-fumes                    exhaust particle pool
│   ├── div#sp-rocket                   zero-size flyby anchor
│   │   └── span#sp-rocket-ship
│   │       └── img#sp-ride-img         rocket.svg / unicorn.svg
│   ├── div#sp-moon                     CTA act only
│   └── div#sp-ticker
│       └── div#sp-ticker-track
│
└── div#screen-welcome.screen           logo + sine scroller
    ├── img.welcome-logo
    └── div#sine-scroller

Layout technique

No grid and no flexbox — neither is safe on the target Tizen browsers.