:root{
  --bg:#0d1117;--panel:#141b24;--panel2:#192434;--text:#eef4fb;--muted:#9fb0c5;--line:#2b3a4d;--accent:#58a6ff;--accent2:#7ee787;--danger:#ff7b72;--warn:#f2cc60;
}
*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at top left,#17263b,#0d1117 42%);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.wrap{width:min(1160px,92vw);margin:0 auto}.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0}.brand{font-weight:900;letter-spacing:.04em;font-size:1.35rem}.brand span{color:var(--accent)}.nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.nav a,.small-btn{color:var(--muted);border:1px solid var(--line);padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.03)}.nav a:hover,.small-btn:hover{color:var(--text);border-color:var(--accent)}.hero{padding:80px 0 55px}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:stretch}.eyebrow{color:var(--accent2);text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:800}.hero h1{font-size:clamp(2.4rem,5vw,5rem);line-height:.95;margin:16px 0}.lead{color:var(--muted);font-size:1.15rem;line-height:1.65}.button-grid{display:grid;grid-template-columns:1fr;gap:18px}.big-card{display:flex;flex-direction:column;justify-content:space-between;min-height:190px;padding:28px;border-radius:28px;background:linear-gradient(145deg,var(--panel),var(--panel2));border:1px solid var(--line);box-shadow:0 20px 70px rgba(0,0,0,.25)}.big-card:hover{border-color:var(--accent);transform:translateY(-2px)}.big-card b{font-size:1.55rem}.big-card p,.card p{color:var(--muted);line-height:1.5}.arrow{font-size:2rem;color:var(--accent)}.section{padding:32px 0}.card{background:rgba(20,27,36,.9);border:1px solid var(--line);border-radius:22px;padding:22px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:7px;margin:12px 0}.field label{color:var(--muted);font-size:.92rem}.field input,.field textarea,.field select{background:#0b1018;border:1px solid var(--line);color:var(--text);padding:12px 13px;border-radius:13px;width:100%}.field textarea{min-height:100px;resize:vertical}.btn{background:var(--accent);color:#06101d;border:0;border-radius:13px;padding:12px 16px;font-weight:800;cursor:pointer}.btn.secondary{background:#263548;color:var(--text);border:1px solid var(--line)}.btn.danger{background:transparent;color:var(--danger);border:1px solid rgba(255,123,114,.45)}.btn.warn{background:var(--warn);color:#1b1400}.muted{color:var(--muted)}.hidden{display:none!important}.list-item{display:flex;justify-content:space-between;align-items:center;gap:14px;border:1px solid var(--line);background:#101721;border-radius:17px;padding:15px;margin:10px 0}.list-item h3{margin:0 0 5px}.list-item p{margin:0;color:var(--muted)}.pill{display:inline-block;background:#1d2d40;border:1px solid var(--line);border-radius:999px;padding:5px 9px;color:var(--muted);font-size:.82rem}.notice{border-left:4px solid var(--accent);padding:12px 14px;background:#101a28;border-radius:12px;color:var(--muted)}.admin-layout{display:grid;grid-template-columns:260px 1fr;gap:20px}.sidebar{position:sticky;top:12px;align-self:start}.tab-btn{display:block;width:100%;text-align:left;margin:8px 0}.question-box,.option-row{border:1px solid var(--line);border-radius:16px;padding:14px;background:#101721;margin:12px 0}.option-row{display:flex;gap:10px;align-items:center}.option-row input{flex:1}.chart-row{margin:10px 0}.bar{height:30px;background:#1e334b;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));min-width:2px}.slide-body{min-height:100dvh;overflow:auto;background:linear-gradient(145deg,#07101d,#111827)}.slide-shell{min-height:100dvh;display:flex;flex-direction:column}.slide-top{padding:18px 26px;display:flex;justify-content:space-between;align-items:center;color:var(--muted);border-bottom:1px solid var(--line);flex-shrink:0}.slide-main{flex:1;display:flex;align-items:center;justify-content:center;padding:30px;width:100%;overflow:auto}.slide-card{width:min(940px,92vw);max-height:calc(100dvh - 110px);overflow:auto;margin:auto;border:1px solid var(--line);background:rgba(20,27,36,.96);border-radius:32px;padding:38px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 30px 100px rgba(0,0,0,.35)}.slide-card h1{font-size:clamp(2rem,4vw,4rem);line-height:1.08;margin-top:18px}.slide-card>div:first-child{width:100%}.slide-card .row{justify-content:center}.slide-card .field{max-width:760px;margin-left:auto;margin-right:auto}.slide-card textarea{min-height:170px}.slide-card .choice{max-width:760px;margin-left:auto;margin-right:auto}.slide-card .lead,.slide-card .muted{text-align:center}.slide-card .progress{max-width:760px;margin-left:auto;margin-right:auto}.slide-card h1{text-align:center}.choice{display:block;border:1px solid var(--line);border-radius:16px;padding:16px;margin:12px 0;background:#0e1622;cursor:pointer}.choice input{margin-right:10px}.progress{height:9px;background:#0b1018;border-radius:99px;overflow:hidden;border:1px solid var(--line)}.progress span{display:block;height:100%;background:var(--accent)}.footer{padding:30px 0;color:var(--muted);font-size:.9rem}@media(max-width:800px){.hero-grid,.admin-layout{grid-template-columns:1fr}.topbar{align-items:flex-start;gap:14px;flex-direction:column}.slide-main{align-items:flex-start;padding:16px}.slide-card{width:100%;max-height:none;min-height:calc(100dvh - 100px);padding:24px}.slide-card h1{text-align:left}.slide-card .lead,.slide-card .muted{text-align:left}.slide-card .row{justify-content:flex-start}.list-item{align-items:flex-start;flex-direction:column}}
.pageview-chart-card{background:#101721;border:1px solid var(--line);border-radius:20px;padding:18px;margin:14px 0;overflow-x:auto}.pageview-chart{width:100%;min-width:620px;height:260px}.pageview-chart .pv-grid{stroke:var(--line);stroke-width:1}.pageview-chart .pv-area{fill:rgba(88,166,255,.16)}.pageview-chart .pv-line{fill:none;stroke:var(--accent);stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.pageview-chart circle{fill:var(--accent2);stroke:#08111d;stroke-width:2}.pageview-chart .pv-axis{fill:var(--muted);font-size:12px}.active-list-item{border-color:var(--accent);box-shadow:0 0 0 1px rgba(88,166,255,.25)}
/* Homepage typewriter typography */
.home-page,
.home-page .brand,
.home-page .nav a,
.home-page .hero,
.home-page .hero h1,
.home-page .lead,
.home-page .eyebrow,
.home-page .big-card,
.home-page .big-card b,
.home-page .big-card p,
.home-page .footer{
  font-family:"Courier New","Lucida Console",Monaco,monospace !important;
}
.home-page{letter-spacing:.01em}
.home-page .hero h1{letter-spacing:-.06em;font-weight:900}
.home-page .big-card b{letter-spacing:-.03em;font-weight:900}
.choice.compact{padding:10px 12px;margin:10px 0}.warn-pill{background:rgba(242,204,96,.12);border-color:rgba(242,204,96,.45);color:var(--warn)}


.description-block{margin:8px 0 10px}.description-text{white-space:pre-wrap;color:var(--muted);line-height:1.5;margin:0}.description-block.collapsed .description-text{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.description-toggle{margin-top:7px;background:transparent;border:0;color:var(--accent);font-weight:800;cursor:pointer;padding:0}.description-toggle:hover{text-decoration:underline}.public-description{margin:12px 0 18px}

/* Correlation/filter analytics update */
.analytics-layout{display:grid;grid-template-columns:320px 1fr;gap:18px;align-items:start}.analytics-sidebar{position:sticky;top:12px;max-height:calc(100vh - 28px);overflow:auto}.analytics-main{min-width:0}.analytics-survey-item{align-items:flex-start}.analytics-sticky{position:sticky;top:0;z-index:5;background:rgba(20,27,36,.96);border:1px solid var(--line);border-radius:16px;padding:10px;margin:0 0 12px;display:flex;gap:8px;flex-wrap:wrap}.analytics-filter-card{border:1px solid var(--line);background:#101721;border-radius:18px;padding:16px;margin:12px 0}.analytics-filter-card h3{margin-top:0}.analytics-filter-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.75fr) auto;gap:12px;align-items:end}.filter-button-field{justify-content:flex-end}.analytics-results-list{display:grid;gap:12px}.analytics-card{border:1px solid var(--line);background:#101721;border-radius:18px;overflow:hidden}.analytics-card summary{cursor:pointer;list-style:none;padding:15px 16px}.analytics-card summary::-webkit-details-marker{display:none}.analytics-card summary span{display:flex;flex-direction:column;gap:6px}.analytics-card summary small{color:var(--muted);line-height:1.35}.analytics-card summary:hover{background:rgba(255,255,255,.03)}.analytics-card-body{padding:0 16px 16px}.text-response-list{display:grid;gap:10px}.text-response{white-space:pre-wrap}
@media(max-width:800px){.analytics-layout{grid-template-columns:1fr}.analytics-sidebar{position:static;max-height:none}.analytics-filter-grid{grid-template-columns:1fr}.analytics-sticky{top:0}.analytics-card summary{padding:14px}.analytics-card-body{padding:0 14px 14px}}

/* Layout fix: desktop survey card centered and scroll-safe without changing the mobile-first flow. */
@media (min-width: 801px){
  .slide-body{
    min-height:100vh;
    overflow:auto;
  }
  .slide-shell{
    min-height:100vh;
  }
  .slide-main{
    min-height:calc(100vh - 76px);
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:34px 24px;
  }
  .slide-card{
    width:min(880px,92vw);
    max-height:calc(100vh - 126px);
    overflow:auto;
    margin:auto;
    padding:42px 48px;
    text-align:center;
  }
  .slide-card > div{
    width:100%;
  }
  .slide-card h1,
  .slide-card .lead,
  .slide-card .muted{
    text-align:center;
  }
  .slide-card .choice,
  .slide-card .field,
  .slide-card .progress,
  .slide-card .notice{
    width:min(720px,100%);
    margin-left:auto;
    margin-right:auto;
  }
  .slide-card .choice,
  .slide-card .notice,
  .slide-card textarea{
    text-align:left;
  }
  .slide-card .row{
    justify-content:center;
  }
}


/* Mobile survey scroll safety: allow the page itself to scroll, so no question/options/buttons can be trapped off-screen. */
@media (max-width: 800px){
  html{
    min-height:100%;
    overflow-y:auto;
  }
  body.slide-body{
    min-height:100dvh;
    height:auto;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .slide-shell{
    min-height:100dvh;
    height:auto;
    overflow:visible;
  }
  .slide-top{
    flex-shrink:0;
    padding:14px 16px;
    position:sticky;
    top:0;
    z-index:10;
    background:#07101d;
  }
  .slide-main{
    flex:1;
    min-height:auto;
    height:auto;
    overflow:visible;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:12px 12px 28px;
  }
  .slide-card{
    width:100%;
    min-height:calc(100dvh - 92px);
    height:auto;
    max-height:none;
    overflow:visible;
    padding:18px;
    border-radius:22px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:14px;
  }
  .slide-card > div:first-child{
    flex:0 1 auto;
    min-height:0;
    overflow:visible;
    padding-bottom:8px;
  }
  .slide-card > .row:last-child{
    flex-shrink:0;
    position:sticky;
    bottom:0;
    z-index:3;
    background:linear-gradient(180deg,rgba(20,27,36,.72),rgba(20,27,36,1) 34%);
    border-top:1px solid var(--line);
    margin:0 -18px -18px;
    padding:12px 18px 14px;
    justify-content:space-between;
  }
  .slide-card > .row:last-child .btn,
  .slide-card > .row:last-child a.btn{
    flex:1 1 130px;
    text-align:center;
  }
  .slide-card h1{
    font-size:clamp(1.45rem,7vw,2.35rem);
    line-height:1.12;
    margin:14px 0 12px;
  }
  .slide-card .choice{
    padding:14px;
    margin:10px 0;
  }
  .slide-card textarea{
    min-height:180px;
  }
}

/* Desktop survey polish: centered card, but still scroll-safe for long questions. */
@media (min-width: 801px){
  .slide-main{
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .slide-card{
    margin:auto;
    width:min(900px,90vw);
    max-height:calc(100vh - 120px);
    overflow:auto;
  }
}
