@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;500;600;700;800;900&display=swap');
:root{color-scheme:light;--ink:#203354;--muted:#6f829f;--blue:#168cf0;--blue2:#53b5ff;--sky:#eaf6ff;--mint:#e8faef;--pink:#ff7fa9;--yellow:#ffce61;--line:#e7eff8;--glass:rgba(255,255,255,.76);--shadow:0 18px 55px rgba(53,119,183,.14);--radius:26px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Nunito',system-ui,-apple-system,sans-serif;color:var(--ink);background:linear-gradient(180deg,#dff2ff 0%,#f8fcff 45%,#fff 100%);min-height:100vh;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}::selection{background:#c4e8ff}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-1;background:radial-gradient(ellipse at 8% 10%,rgba(255,255,255,.9),transparent 30%),radial-gradient(ellipse at 90% 22%,rgba(172,223,255,.55),transparent 32%),radial-gradient(ellipse at 50% 90%,rgba(210,245,223,.45),transparent 34%)}
.sky-decor{position:absolute;inset:0 0 auto;height:650px;overflow:hidden;pointer-events:none;z-index:-1}.cloud{position:absolute;background:rgba(255,255,255,.78);height:72px;width:220px;border-radius:80px;filter:drop-shadow(0 10px 18px rgba(104,174,222,.1));animation:cloudDrift 34s ease-in-out infinite alternate}.cloud:before,.cloud:after{content:"";position:absolute;background:inherit;border-radius:50%}.cloud:before{width:95px;height:95px;left:28px;bottom:10px}.cloud:after{width:125px;height:125px;right:28px;bottom:0}.cloud.c1{top:105px;left:-50px;transform:scale(.8)}.cloud.c2{top:260px;right:-55px;animation-delay:-10s;transform:scale(.65)}.cloud.c3{top:475px;left:55%;animation-delay:-20s;transform:scale(.45)}@keyframes cloudDrift{from{translate:-12px 0}to{translate:45px 8px}}
.container{width:min(1160px,calc(100% - 36px));margin:auto}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:1.28rem;letter-spacing:-.04em}.brand-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:17px;background:linear-gradient(145deg,#fff,#cceaff);box-shadow:inset 0 2px 3px white,0 8px 20px #8fcdf566;font-size:25px}.brand span em{font-style:normal;color:var(--blue)}.nav{display:flex;align-items:center;gap:8px}.nav a{padding:11px 15px;border-radius:14px;font-weight:800;color:#526b8d;transition:.25s}.nav a:hover{background:#ffffffa8;color:var(--blue);transform:translateY(-2px)}.nav .nav-cta{background:white;box-shadow:0 7px 18px #70b7e526;color:var(--blue)}
.hero{display:grid;grid-template-columns:1.04fr .96fr;gap:35px;align-items:center;padding:44px 0 68px;min-height:480px}.eyebrow{font-size:.76rem;letter-spacing:.14em;font-weight:900;color:#398fdb;text-transform:uppercase;margin:0 0 14px}.hero h1{font-size:clamp(2.7rem,5vw,4.6rem);line-height:1.04;letter-spacing:-.065em;margin:0 0 20px;font-weight:900}.gradient-text{background:linear-gradient(100deg,#1786ee,#50baff 50%,#8a8bf7);-webkit-background-clip:text;background-clip:text;color:transparent}.hero p{font-size:1.12rem;line-height:1.8;color:#647b99;max-width:560px;margin:0 0 28px}.actions{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:0;border-radius:18px;padding:15px 22px;font-weight:900;transition:transform .22s,box-shadow .22s,filter .22s;position:relative;overflow:hidden}.btn:after{content:"";position:absolute;top:-80%;left:-45%;width:35%;height:260%;background:rgba(255,255,255,.4);transform:rotate(25deg);transition:left .6s}.btn:hover:after{left:130%}.btn:hover{transform:translateY(-4px)}.btn:active{transform:translateY(1px) scale(.98)}.btn-primary{color:#fff;background:linear-gradient(135deg,#46b5ff,#0780ef);box-shadow:0 10px 0 #0869c6,0 18px 28px #2298ec35,inset 0 2px 2px #ffffffa8}.btn-primary:hover{box-shadow:0 7px 0 #0869c6,0 24px 36px #2298ec4d}.btn-soft{background:#fff;color:#347bb7;box-shadow:0 8px 22px #6badd51c;border:1px solid #fff}.btn-small{padding:10px 14px;border-radius:13px;font-size:.9rem}.hero-art{min-height:390px;position:relative;display:grid;place-items:center}.art-board{position:relative;width:min(100%,440px);padding:30px 26px 34px;border-radius:32px;background:linear-gradient(145deg,#ffffffed,#ffffffa8);border:1px solid #fff;box-shadow:0 25px 70px #5ba4d32c,inset 0 1px 0 #fff;backdrop-filter:blur(18px);transform:rotate(1.5deg);animation:float 5s ease-in-out infinite}.art-board:before{content:"";position:absolute;inset:9px;border:2px dashed #bfe4ff;border-radius:25px;pointer-events:none}.board-label{display:inline-block;background:#ffe9a8;padding:10px 17px;border-radius:13px;font-weight:900;transform:rotate(-2deg);position:relative}.score{font-size:clamp(5rem,11vw,8rem);font-weight:900;letter-spacing:-.08em;line-height:1;margin:28px 0 12px;text-align:center;color:#253957;text-shadow:0 5px 0 #d5e5f7}.score span{color:#258df2}.art-caption{text-align:center;font-weight:800;color:#7186a2}.mascot{font-size:100px;text-align:center;filter:drop-shadow(0 12px 10px #88b9d544);animation:wiggle 4s ease-in-out infinite}.floaty{position:absolute;font-size:32px;animation:float 4s ease-in-out infinite}.f1{top:12%;right:4%}.f2{bottom:12%;left:0;animation-delay:-1s}.f3{top:17%;left:4%;animation-delay:-2s}@keyframes float{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-12px) rotate(-1deg)}}@keyframes wiggle{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.section{padding:36px 0 66px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-head h2{font-size:clamp(1.7rem,3vw,2.5rem);letter-spacing:-.05em;margin:0 0 7px;font-weight:900}.section-head p{margin:0;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:7px 12px;background:#e4f4ff;color:#2689d5;font-weight:900;font-size:.8rem}.survey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.survey-card{background:var(--glass);border:1px solid #fff;border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);backdrop-filter:blur(16px);position:relative;overflow:hidden;transition:.28s}.survey-card:before{content:"";position:absolute;top:-65px;right:-55px;width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,#d9f1ff,#e4fff0);opacity:.8}.survey-card:hover{transform:translateY(-7px);box-shadow:0 24px 60px #428cc329}.card-emoji{width:58px;height:58px;border-radius:20px;display:grid;place-items:center;font-size:29px;background:linear-gradient(145deg,#fff,#e1f4ff);box-shadow:0 8px 20px #5eadd52b;position:relative}.survey-card h3{font-size:1.25rem;line-height:1.35;margin:19px 0 9px;letter-spacing:-.025em;position:relative}.survey-card p{color:var(--muted);line-height:1.65;min-height:48px;margin:0 0 19px;position:relative}.card-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px;color:#7c90a9;font-size:.86rem;font-weight:800}.survey-card .btn{width:100%}.empty-state{grid-column:1/-1;padding:42px;text-align:center;background:#ffffffb8;border:1px dashed #badbf5;border-radius:24px;color:var(--muted)}
.panel{background:var(--glass);border:1px solid white;border-radius:28px;box-shadow:var(--shadow);backdrop-filter:blur(16px);padding:26px}.leaderboard{display:grid;gap:12px}.rank-row{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:14px;padding:14px;border-radius:18px;background:#ffffffb8;border:1px solid #fff}.rank-number{width:42px;height:42px;display:grid;place-items:center;border-radius:15px;background:#e9f5ff;font-weight:900;color:#268be3}.rank-number.gold{background:#fff0bd;color:#b47a05}.rank-number.silver{background:#edf1f6;color:#6d7d93}.rank-number.bronze{background:#ffe6d8;color:#b96d42}.rank-name{font-weight:900}.rank-sub{font-size:.82rem;color:var(--muted);margin-top:3px}.rank-score{font-weight:900;color:#168cf0;font-size:1.12rem}.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:22px}.footer{padding:32px 0 45px;color:#8ba0b8;text-align:center;font-size:.9rem}.footer strong{color:#5087b9}
.page-head{padding:35px 0 26px}.page-head h1{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.06em;margin:0 0 12px}.page-head p{color:var(--muted);line-height:1.7;margin:0}.quiz-wrap{max-width:820px;margin:0 auto 70px}.progress-head{display:flex;justify-content:space-between;color:#6b83a1;font-weight:900;font-size:.9rem;margin-bottom:10px}.progress-track{height:10px;border-radius:99px;background:#dceefb;overflow:hidden;margin-bottom:24px}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#5ac3ff,#1386ee);transition:width .3s}.question-card{display:none;animation:appear .35s ease}.question-card.active{display:block}.question-title{font-size:1.5rem;line-height:1.4;margin:0 0 22px;font-weight:900}.question-num{color:#4ba5eb;font-size:.9rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:9px}.option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.option{position:relative}.option input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer}.option label{display:flex;align-items:center;gap:12px;min-height:64px;padding:15px 17px;border-radius:18px;border:2px solid #e5eff8;background:#fff;cursor:pointer;font-weight:800;color:#536b89;transition:.2s}.option label:before{content:"";width:20px;height:20px;flex:none;border:2px solid #c4d7e9;border-radius:50%;background:white}.option input[type=checkbox]+label:before{border-radius:6px}.option input:checked+label{border-color:#5db7f5;background:#eef8ff;color:#207bc1;box-shadow:0 8px 20px #60b5ef1b}.option input:checked+label:before{border:6px solid #2599ef}.option input[type=checkbox]:checked+label:before{background:#2599ef;border:5px solid #2599ef;box-shadow:inset 0 0 0 2px white}.field{width:100%;border:2px solid #e4eef7;background:#fff;border-radius:16px;padding:15px 17px;outline:none;color:var(--ink);transition:.2s}.field:focus{border-color:#65baf3;box-shadow:0 0 0 4px #d9f0ff}.form-stack{display:grid;gap:17px}.form-stack label{font-weight:900;display:grid;gap:8px}.quiz-controls{display:flex;justify-content:space-between;gap:12px;margin-top:25px}.quiz-controls .btn{min-width:135px}.alert{padding:14px 17px;border-radius:15px;background:#fff0f1;color:#a23d4c;font-weight:800;margin:0 0 16px}.alert.success{background:#e8faef;color:#23764b}.result-score{font-size:clamp(4rem,12vw,7rem);font-weight:900;letter-spacing:-.08em;color:#168cf0;line-height:1}.result-score small{font-size:1.2rem;color:#91a3b8;letter-spacing:0}.result-card{text-align:center;padding:42px}.result-card .mascot{font-size:85px}.result-card h1{font-size:2.1rem;letter-spacing:-.05em}.result-card p{color:var(--muted);line-height:1.7}
.admin-body{background:#f3f8fd}.admin-layout{display:grid;grid-template-columns:245px minmax(0,1fr);min-height:100vh}.sidebar{background:linear-gradient(180deg,#fff,#f0f8ff);border-right:1px solid #e2edf7;padding:25px 18px;display:flex;flex-direction:column;gap:8px}.sidebar .brand{margin:0 0 24px 8px;font-size:1.1rem}.side-label{font-size:.72rem;font-weight:900;color:#9aaec2;letter-spacing:.13em;margin:15px 10px 6px}.side-link{padding:12px 13px;border-radius:14px;font-weight:800;color:#657c98;display:flex;gap:10px;align-items:center}.side-link:hover,.side-link.active{background:#e2f3ff;color:#1686e6}.admin-main{padding:28px;min-width:0}.admin-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:25px}.admin-top h1{margin:0;font-size:1.8rem;letter-spacing:-.05em}.admin-content{max-width:1200px;margin:auto}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:22px}.stat-card{background:white;border:1px solid #e8f0f7;border-radius:22px;padding:21px;box-shadow:0 8px 24px #426f9710}.stat-icon{font-size:25px}.stat-num{font-size:2rem;font-weight:900;letter-spacing:-.06em;margin:7px 0}.stat-label{font-size:.88rem;color:#7b8ea5;font-weight:800}.table-wrap{overflow:auto;background:white;border:1px solid #e8f0f7;border-radius:20px}.data-table{width:100%;border-collapse:collapse;min-width:700px}.data-table th,.data-table td{text-align:left;padding:15px 17px;border-bottom:1px solid #edf2f7;font-size:.92rem}.data-table th{color:#7e91a8;background:#f8fbfe;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.data-table tr:last-child td{border-bottom:0}.data-table td{font-weight:700}.badge{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:.78rem;font-weight:900;background:#e8faef;color:#238653}.badge.off{background:#f1f3f6;color:#7d8b9a}.inline-form{display:inline}.admin-form{background:white;border:1px solid #e6eef7;border-radius:22px;padding:24px;display:grid;gap:17px}.admin-form label{display:grid;gap:7px;font-weight:900}.admin-form .field{background:#fbfdff}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.admin-section-title{margin:28px 0 14px;font-size:1.15rem}.question-edit{background:#f8fbff;border:1px solid #e6eff8;border-radius:17px;padding:17px;margin-bottom:13px}.question-edit-top{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.option-fields{display:grid;gap:8px;margin-top:10px}.option-edit{display:grid;grid-template-columns:1fr auto;gap:8px}.check-line{display:flex!important;align-items:center;gap:9px!important}.check-line input{width:18px;height:18px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:25px}.login-card{width:min(100%,460px);background:#ffffffdc;border:1px solid #fff;border-radius:30px;padding:35px;box-shadow:0 25px 80px #438dc42b;backdrop-filter:blur(18px)}.login-card h1{font-size:2rem;letter-spacing:-.05em;margin:0 0 8px}.login-card>p{color:var(--muted);margin:0 0 25px}
.setup-page{min-height:100vh;display:grid;place-items:center;padding:20px}.setup-card{width:min(100%,520px);padding:36px;background:#ffffffdc;border:1px solid white;border-radius:30px;box-shadow:var(--shadow)}.setup-card h1{font-size:2.1rem;letter-spacing:-.05em;margin:0 0 10px}.setup-card .muted{color:var(--muted);line-height:1.7}.brand-mark{font-size:42px;margin-bottom:8px}.tiny{font-size:.78rem;color:#8a9cb1;margin-top:22px;line-height:1.6}
@keyframes appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.hero{grid-template-columns:1fr;gap:5px;padding-top:25px}.hero-art{min-height:330px}.art-board{max-width:420px}.survey-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-layout{grid-template-columns:1fr}.sidebar{position:relative;padding:12px;flex-direction:row;flex-wrap:wrap;align-items:center;border-right:0;border-bottom:1px solid #e2edf7}.sidebar .brand{margin:0 10px 0 0}.side-label{display:none}.side-link{padding:9px 11px}.admin-main{padding:20px}.admin-top{align-items:flex-start}.sidebar .side-link span{display:none}}
@media(max-width:600px){.container{width:min(100% - 26px,1160px)}.topbar{padding:15px 0}.brand{font-size:1.05rem}.brand-icon{width:40px;height:40px;border-radius:14px}.nav{gap:2px}.nav a{padding:9px;font-size:.83rem}.nav a:not(.nav-cta){display:none}.hero{padding:24px 0 38px}.hero h1{font-size:2.8rem}.hero p{font-size:1rem}.hero-art{min-height:300px}.art-board{padding:24px 18px}.mascot{font-size:78px}.section{padding:25px 0 45px}.section-head{align-items:flex-start;flex-direction:column}.survey-grid{grid-template-columns:1fr}.survey-card{padding:21px}.option-list{grid-template-columns:1fr}.panel{padding:18px}.quiz-controls .btn{min-width:0;flex:1;padding:13px}.question-title{font-size:1.3rem}.rank-row{grid-template-columns:42px 1fr auto;gap:10px;padding:11px}.rank-number{width:38px;height:38px}.form-grid{grid-template-columns:1fr}.admin-main{padding:14px}.stats-grid{gap:10px}.stat-card{padding:15px}.stat-num{font-size:1.6rem}.admin-top h1{font-size:1.4rem}.admin-form{padding:17px}.login-card{padding:26px}.result-card{padding:28px 18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}


/* ===== Responsive refinement: phones, tablets, laptops and wide screens ===== */
html { width:100%; max-width:100%; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
body { width:100%; max-width:100%; overflow-x:clip; }
img, svg, video, canvas, iframe { max-width:100%; }
button, input, textarea, select { max-width:100%; }
p, h1, h2, h3, h4, a, label, td, th, .rank-name, .rank-sub { overflow-wrap:anywhere; }
.container { width:min(1160px, calc(100% - 48px)); }
.hero > *, .two-col > *, .section-head > *, .admin-top > * { min-width:0; }
.nav { flex-wrap:wrap; justify-content:flex-end; }
.nav a { white-space:nowrap; }
.survey-card, .panel, .art-board, .login-card, .setup-card { min-width:0; }
.option label { overflow-wrap:anywhere; }
.field { min-width:0; max-width:100%; }
.quiz-controls { display:flex; flex-wrap:wrap; gap:12px; }
.quiz-controls .btn { min-width:0; }
.result-card .actions { flex-wrap:wrap; }
.result-card .actions .btn { max-width:100%; }
.table-wrap { max-width:100%; -webkit-overflow-scrolling:touch; }
.data-table { min-width:680px; }
.sidebar .brand { min-width:0; }
.admin-main, .admin-content { min-width:0; max-width:100%; }
.admin-top h1 { overflow-wrap:anywhere; }
.question-edit, .admin-form, .stat-card { min-width:0; }
.option-edit { min-width:0; }
.option-edit input { min-width:0; }
@media (min-width: 1400px) {
  .container { width:min(1240px, calc(100% - 80px)); }
  .hero { gap:56px; }
}
@media (max-width: 900px) {
  .container { width:calc(100% - 36px); }
  .hero { grid-template-columns:minmax(0,1fr); min-height:0; padding:34px 0 48px; }
  .hero > div:first-child { max-width:720px; }
  .hero-art { width:100%; min-height:320px; }
  .art-board { width:min(100%,440px); }
  .survey-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .two-col { grid-template-columns:minmax(0,1fr); }
  .admin-layout { grid-template-columns:minmax(0,1fr); }
  .sidebar { position:relative; width:100%; flex-direction:row; flex-wrap:wrap; align-items:center; gap:7px; padding:14px 18px; }
  .sidebar .brand { flex:1 0 100%; margin:0 0 5px; }
  .side-label { display:none; }
  .side-link { flex:0 0 auto; padding:10px 12px; }
  .sidebar .side-link span { display:inline; }
  .admin-main { padding:22px 18px; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 600px) {
  .container { width:calc(100% - 28px); }
  .topbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:13px 0 16px; }
  .brand { font-size:1.02rem; gap:8px; }
  .brand-icon { width:38px; height:38px; border-radius:13px; font-size:21px; flex:none; }
  .nav { width:100%; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .nav a, .nav a:not(.nav-cta) { display:flex; justify-content:center; align-items:center; min-width:0; white-space:normal; text-align:center; font-size:.78rem; line-height:1.25; padding:10px 7px; border-radius:12px; }
  .nav .nav-cta { grid-column:auto; }
  .hero { padding:25px 0 34px; gap:18px; }
  .hero h1 { font-size:clamp(2.25rem,10vw,3.15rem); line-height:1.05; letter-spacing:-.06em; }
  .hero p { font-size:1rem; line-height:1.7; }
  .actions { display:grid; grid-template-columns:minmax(0,1fr); gap:10px; }
  .actions .btn { width:100%; min-width:0; padding:14px 16px; }
  .hero-art { min-height:275px; padding:6px 0 10px; }
  .art-board { padding:23px 17px 25px; border-radius:25px; transform:none; }
  .art-board:before { inset:7px; border-radius:19px; }
  .board-label { padding:8px 12px; font-size:.9rem; }
  .score { font-size:clamp(4.5rem,22vw,6.2rem); margin:24px 0 10px; }
  .mascot { font-size:76px; }
  .floaty { font-size:25px; }
  .section { padding:25px 0 42px; }
  .section-head { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
  .section-head h2 { font-size:clamp(1.55rem,7vw,2rem); }
  .survey-grid { grid-template-columns:minmax(0,1fr); gap:14px; }
  .survey-card { padding:20px; border-radius:22px; }
  .survey-card p { min-height:0; }
  .panel { padding:17px; border-radius:22px; }
  .rank-row { grid-template-columns:38px minmax(0,1fr); gap:10px; padding:12px; }
  .rank-number { width:36px; height:36px; }
  .rank-score { grid-column:2; font-size:.98rem; }
  .rank-sub { line-height:1.35; }
  .page-head { padding:24px 0 20px; }
  .page-head h1 { font-size:clamp(1.85rem,8vw,2.5rem); }
  .quiz-wrap { margin-bottom:42px; }
  .progress-head { gap:10px; font-size:.82rem; }
  .question-card { min-width:0; }
  .question-title { font-size:1.22rem; line-height:1.45; }
  .option-list { grid-template-columns:minmax(0,1fr); gap:10px; }
  .option label { min-height:56px; padding:13px; border-radius:15px; }
  .quiz-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .quiz-controls .btn { width:100%; padding:12px 9px; font-size:.9rem; }
  .result-card { padding:25px 17px; }
  .result-card h1 { font-size:clamp(1.7rem,8vw,2.3rem); overflow-wrap:anywhere; }
  .result-card .actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .footer { padding:26px 0 32px; }
  .admin-main { padding:16px 12px; }
  .sidebar { padding:12px; }
  .sidebar .brand { flex-basis:100%; }
  .side-link { font-size:.82rem; padding:9px 10px; }
  .sidebar .side-link span { display:inline; }
  .admin-top { flex-direction:column; align-items:stretch; gap:12px; }
  .admin-top .btn { align-self:flex-start; }
  .admin-top h1 { font-size:1.45rem; }
  .stats-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .stat-card { padding:13px; border-radius:17px; }
  .stat-num { font-size:1.5rem; }
  .stat-label { font-size:.78rem; }
  .admin-form { padding:15px; border-radius:18px; }
  .form-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
  .question-edit { padding:12px; }
  .question-edit-top { align-items:flex-start; flex-wrap:wrap; }
  .option-edit { grid-template-columns:minmax(0,1fr); }
  .login-shell, .setup-page { padding:14px; }
  .login-card, .setup-card { padding:23px 18px; border-radius:23px; }
  .login-card h1, .setup-card h1 { font-size:1.75rem; }
  .data-table { min-width:650px; }
}
@media (max-width: 360px) {
  .container { width:calc(100% - 22px); }
  .brand { font-size:.94rem; }
  .nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .nav .nav-cta { grid-column:1/-1; }
  .hero h1 { font-size:2.15rem; }
  .score { font-size:4.2rem; }
  .stats-grid { grid-template-columns:minmax(0,1fr); }
  .quiz-controls { grid-template-columns:minmax(0,1fr); }
}
@media (hover:none) {
  .btn:hover, .survey-card:hover, .nav a:hover { transform:none; }
}


/* Account, rewards, and extra playful motion */
.brand-image{display:block;width:48px;height:42px;flex:0 0 auto;filter:drop-shadow(0 7px 12px #72bce333)}
.hero-mascot{width:112px;height:112px;display:block;margin:2px auto 0;animation:bearBob 4s ease-in-out infinite;filter:drop-shadow(0 12px 12px #87bde833)}
.sticker-image{width:42px;height:42px;object-fit:contain}
.card-visual{height:92px;display:flex;align-items:center;justify-content:center;margin-bottom:10px}
.card-visual img{width:78px;height:78px;object-fit:contain;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.survey-card:hover .card-visual img{transform:rotate(-9deg) scale(1.13)}
.survey-points{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 15px;color:#287bb8}
.survey-points img{width:26px;height:26px;object-fit:contain}
.survey-points strong{font-weight:900}
.completed-tag{width:100%;font-size:.78rem;color:#5d8b76;background:#e7f8ef;border-radius:10px;padding:7px 9px;line-height:1.45}
.account-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);gap:clamp(24px,5vw,72px);align-items:center;padding:30px 0 72px;min-height:70vh}
.account-art{padding:15px 0;max-width:520px}
.account-art>img{display:block;width:min(270px,70%);height:auto;margin:0 auto 22px;filter:drop-shadow(0 22px 22px #74bce533);animation:bearBob 4.8s ease-in-out infinite}
.account-art h1{font-size:clamp(2.1rem,4.2vw,3.7rem);line-height:1.06;letter-spacing:-.055em;margin:0 0 17px}
.account-art>p:last-child{color:var(--muted);line-height:1.8;font-size:1.05rem}
.account-card{padding:clamp(22px,4vw,38px);border:1px solid #ffffffd9;box-shadow:0 24px 70px #5ba4d32b;backdrop-filter:blur(18px)}
.account-card h2{font-size:clamp(1.6rem,3vw,2.15rem);letter-spacing:-.04em;margin:0 0 8px}
.account-switch{text-align:center;color:var(--muted);margin:22px 0 10px}
.account-switch a{font-weight:900;color:#168cf0;text-decoration:underline;text-underline-offset:3px}
.points-balance{display:flex;align-items:center;gap:13px;padding:13px 19px;border:1px solid white;background:#ffffffc9;border-radius:20px;box-shadow:0 12px 30px #6badd51c;flex:none}
.points-balance img{width:48px;height:48px;object-fit:contain}
.points-balance small,.survey-reward small{display:block;color:var(--muted);font-weight:800;font-size:.78rem}
.points-balance strong,.survey-reward strong{display:block;color:#177fc5;font-size:1.12rem;font-weight:900}
.reward-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:22px 0 34px}
.reward-card{min-width:0;padding:22px;border:1px solid #fff;border-radius:26px;background:linear-gradient(145deg,#ffffffed,#f8fcffcc);box-shadow:0 14px 38px #66a9d51a;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.reward-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px #66a9d52e}
.reward-art{height:140px;border-radius:22px;background:linear-gradient(145deg,#eff9ff,#fff2f7);display:grid;place-items:center;margin-bottom:18px;overflow:hidden}
.reward-art img{width:100px;height:100px;object-fit:contain;animation:rewardFloat 4s ease-in-out infinite}
.reward-card h3{margin:0 0 7px;font-size:1.2rem}
.reward-card p{color:var(--muted);line-height:1.65;flex:1}
.reward-cost{font-weight:900;font-size:1.12rem;color:#167ec2;margin:5px 0 15px}
.reward-card .btn{width:100%}
.reward-card .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.redemption-history{padding:clamp(16px,3vw,28px)}
.survey-reward{display:flex;align-items:center;gap:12px;padding:12px 15px;border-radius:18px;background:linear-gradient(110deg,#fff7d9,#fff 75%);border:1px solid #ffedb1;margin:16px 0}
.survey-reward img,.result-points img{width:44px;height:44px;object-fit:contain;flex:none}
.inline-sticker{display:inline-block;width:38px;height:38px;vertical-align:middle;object-fit:contain}
.result-points{display:inline-flex;align-items:center;gap:10px;background:#e8f8ef;color:#368262;border-radius:16px;padding:9px 14px;font-weight:900;margin:5px 0 18px}
.result-points img{width:32px;height:32px}
.feature-mascot{display:block;width:118px;height:118px;object-fit:contain;margin:14px auto;animation:bearBob 4.5s ease-in-out infinite}
.empty-mascot{display:block;width:96px;height:96px;object-fit:contain;margin:0 auto 12px}
.footer-inner{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}
.footer-inner img{width:36px;height:28px;object-fit:contain}
.alert.info{background:#edf8ff;border:1px solid #c9eaff;color:#286f9f}
@keyframes bearBob{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)}}
@keyframes rewardFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(3deg)}}
@media(max-width:900px){.account-layout{grid-template-columns:minmax(0,1fr);max-width:650px}.account-art{text-align:center;margin:auto}.account-art>img{width:180px}.account-art h1{max-width:600px}.reward-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-head .points-balance{align-self:flex-start}}
@media(max-width:600px){.brand-image{width:40px;height:36px}.hero-mascot{width:92px;height:92px}.account-layout{padding:12px 0 42px;gap:18px;min-height:0}.account-art{padding:0 5px}.account-art>img{width:125px;margin-bottom:14px}.account-art h1{font-size:2.15rem}.account-art>p:last-child{font-size:.96rem}.account-card{padding:22px 17px}.section-head .points-balance{width:100%}.points-balance{padding:10px 13px}.points-balance img{width:40px;height:40px}.reward-grid{grid-template-columns:minmax(0,1fr);gap:14px}.reward-card{padding:18px}.reward-art{height:115px}.reward-art img{width:86px;height:86px}.survey-reward{align-items:center}.result-points{font-size:.88rem;line-height:1.4}.feature-mascot{width:95px;height:95px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
