@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap');
:root{--ink:#14213d;--muted:#667085;--paper:#f6f7fb;--accent:#f26b38;--teal:#0f8b8d;--line:#e5e7eb;--shadow:0 18px 45px rgba(20,33,61,.08)}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;padding-top:80px}/* Header Styles */.app-header{position:fixed;top:0;left:0;right:0;background:#fff;border-bottom:2px solid var(--line);box-shadow:var(--shadow);z-index:1000;height:80px}.header-container{max-width:1400px;margin:0 auto;padding:0 2rem;height:100%;display:flex;align-items:center;justify-content:space-between}.logo-section{display:flex;align-items:center;gap:1rem;text-decoration:none;color:var(--ink);font-weight:700}.logo-image{height:50px;width:auto;object-fit:contain}.app-title{margin:0;font-size:1.3rem;letter-spacing:.02em;color:var(--ink)}.header-nav ul{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.header-nav a{text-decoration:none;color:var(--ink);font-weight:500;transition:color .2s}.header-nav a:hover{color:var(--teal)}h1,h2,h3,.brand{font-family:'Space Grotesk',sans-serif}h1{font-size:clamp(2rem,5vw,3.8rem);line-height:1.02;letter-spacing:0}.navbar{background:var(--ink)}.brand{font-weight:700;color:#fff;text-decoration:none;letter-spacing:.02em}.hero{background:linear-gradient(135deg,#14213d 0%,#234c63 62%,#0f8b8d 100%);color:#fff;padding:4rem 0 5.5rem;position:relative;overflow:hidden}.hero:after{content:'';position:absolute;width:28rem;height:28rem;border:1px solid rgba(255,255,255,.14);border-radius:50%;right:-8rem;top:-12rem}.hero-copy{position:relative;z-index:1}.eyebrow{color:#ffb28f;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.surface{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.overlap{margin-top:-3rem;position:relative;z-index:2}.form-control,.form-select{border-color:#d9dee8;border-radius:8px;padding:.75rem .9rem}.form-control:focus,.form-select:focus{border-color:var(--teal);box-shadow:0 0 0 .2rem rgba(15,139,141,.15)}.btn-primary{background:var(--accent);border-color:var(--accent)}.btn-primary:hover{background:#d85627;border-color:#d85627}.question-card{border:1px solid var(--line);border-radius:10px;background:#fff;padding:1rem;display:flex;gap:1rem}.vote-btn{border:1px solid #dbe2ea;background:#f8fafc;border-radius:8px;color:var(--teal);min-width:68px;font-weight:700}.vote-btn.voted{background:#dff4f1;color:#16706f}.vote-btn:disabled{opacity:.8}.question-body{min-width:0}.question-text{font-size:1.05rem;line-height:1.5}.meta{color:var(--muted);font-size:.82rem}.badge-soft{background:#eef2ff;color:#3c4d8f}.stats-card{padding:1.1rem}.stats-value{font-size:2rem;font-family:'Space Grotesk',sans-serif;font-weight:700}.moderator-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center;padding:1rem 0;border-bottom:1px solid var(--line)}.screen{min-height:100vh;background:radial-gradient(circle at 80% 0%,#23677a 0,#14213d 44%,#0b1223 100%);color:#fff;display:grid;place-items:center;padding:8vw;text-align:center}.screen-inner{max-width:1100px}.screen h1{font-size:clamp(2.5rem,7vw,6.5rem)}.screen-question{font-size:clamp(2rem,5vw,5rem);line-height:1.1}.screen-kicker{color:#ffb28f;text-transform:uppercase;letter-spacing:.16em;font-size:.85rem;font-weight:700}.fade{animation:fade .5s ease}@keyframes fade{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:700px){.hero{padding:3rem 0 4.5rem}.moderator-row{grid-template-columns:1fr}.question-card{align-items:flex-start}.vote-btn{min-width:60px}}

.app-header .header-container-centered{width:100%;justify-content:center}
.header-container-centered .logo-section{justify-content:center;min-width:0;max-width:100%;text-align:center}
.header-container-centered .logo-image{max-width:100%;min-width:0;flex-shrink:1}

/* Home navigation: brand and menu toggle share one row. */
.home-navbar .home-navbar-row{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:1rem}
.home-menu{position:relative;color:#fff}
.home-menu-toggle{display:flex;align-items:center;gap:.5rem;list-style:none;cursor:pointer;border:1px solid rgba(255,255,255,.4);border-radius:8px;padding:.5rem .85rem;font-weight:600;user-select:none}
.home-menu-toggle::-webkit-details-marker{display:none}
.home-menu-toggle:hover,.home-menu[open] .home-menu-toggle{background:rgba(255,255,255,.12)}
.home-menu-toggle:focus-visible,.home-menu-links a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.home-menu-icon{font-size:1.1rem;line-height:1}
.home-menu-links{position:absolute;right:0;top:calc(100% + .5rem);z-index:101;min-width:180px;margin:0;padding:.4rem;list-style:none;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow)}
.home-menu-links a{display:block;padding:.65rem .85rem;border-radius:6px;color:var(--ink);text-decoration:none;font-weight:500}
.home-menu-links a:hover,.home-menu-links a[aria-current="page"]{background:#eef2f6;color:var(--teal)}

.header-container-centered .app-title:empty{display:none}

/* Match the Home logo width to the question frame's Bootstrap container. */
body.home-page{padding-top:0}
.home-logo-header{position:relative;height:auto;padding:1rem 0}
.home-logo-header .logo-section{display:block;width:100%;text-align:center}
.home-logo-header .logo-image{display:block;width:60%;max-width:100%;height:auto;margin:0 auto}
