Deepstock — Survival Preparedness Advisor
-
+
+
+
diff --git a/src/App.vue b/src/App.vue
index aa3cc75..57b15d2 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -983,6 +983,19 @@ function restartQuiz() {
const quiz = document.getElementById('quiz-section')
if(quiz) quiz.classList.add('hidden')
document.body.classList.remove('quiz-active')
+
+ // Restore the locked-viewport layout that startQuiz had to undo for
+ // the scrollable quiz/results pages — without this the hero on the
+ // landing page collapses to its content height and leaves a white
+ // half-screen.
+ document.body.style.overflow = ''
+ document.body.style.height = ''
+ const app = document.querySelector('.app')
+ if (app) {
+ app.style.overflow = ''
+ app.style.height = ''
+ }
+
window.scrollTo({ top: 0, behavior: 'smooth' })
}
diff --git a/src/styles.css b/src/styles.css
index b8e84aa..cef48e0 100644
--- a/src/styles.css
+++ b/src/styles.css
@@ -32,6 +32,16 @@ html { scroll-behavior: smooth; -webkit-tap-highlight-color: transparent;
-webkit-overflow-scrolling: touch; }
body { background: #FAFAFA; color: var(--text); font-family: var(--font-body); font-size: 16px; line-height: 1.6; height: 100vh; overflow: hidden; }
+/* Vue mount point — match the body's full viewport so .app inside can
+ reach 100vh the way it did pre-Vue. The original
+ was a direct child of ; the new wrapper div has to forward those
+ dimensions or the hero stops short. */
+#app {
+ height: 100vh;
+ display: flex;
+ flex-direction: column;
+}
+
/* ── HEADER ── */
.site-header {
position: fixed; top: 0; left: 0; right: 0; z-index: 100;