:root{--hoopp: #00893d;--hoopp-light: #00a648;--hoopp-dark: #006b2f;--hoopp-bg: rgba(0,137,61,.06);--hoopp-border: rgba(0,137,61,.15);--teal: #2AA5A0;--teal-bg: rgba(42,165,160,.06);--teal-border: rgba(42,165,160,.15);--amber: #C48A2C;--amber-bg: rgba(196,138,44,.06);--amber-border: rgba(196,138,44,.15);--red: #c44040;--red-bg: rgba(196,64,64,.06);--bg: #f7f8f6;--bg-white: #ffffff;--bg-hover: #f0f2ee;--text: #1a2e22;--text-secondary: #5a6b60;--text-muted: #8a9990;--border: #e2e6e0;--border-light: #eef0ec;--shadow-sm: 0 1px 3px rgba(0,0,0,.04), 0 1px 2px rgba(0,0,0,.02);--shadow-md: 0 4px 16px rgba(0,0,0,.06), 0 2px 6px rgba(0,0,0,.03);--shadow-lg: 0 12px 40px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04);--radius: 14px;--radius-sm: 10px}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:Outfit,sans-serif;background:var(--bg);color:var(--text);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}.progress-bar{position:fixed;top:0;left:0;height:3px;background:var(--hoopp);transition:width .4s cubic-bezier(.16,1,.3,1);z-index:100}.survey-container{max-width:480px;margin:0 auto;padding:24px 20px 40px;min-height:100vh;display:flex;flex-direction:column}.survey-header{text-align:center;margin-bottom:32px;padding-top:24px}.survey-header .logo{width:40px;height:40px;background:var(--hoopp);border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:700;font-size:1.2em;color:#fff;margin-bottom:16px}.survey-header .logo-img{height:64px;margin-bottom:16px}.survey-header h1{font-family:Fraunces,serif;font-size:1.6em;font-weight:700;letter-spacing:-.02em;margin-bottom:8px}.survey-header p{font-size:.9em;color:var(--text-secondary)}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:.85em;font-weight:600;color:var(--text);margin-bottom:6px}.form-group input,.form-group select{width:100%;padding:14px 16px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:Outfit,sans-serif;font-size:1em;color:var(--text);background:var(--bg-white);transition:border-color .2s,box-shadow .2s;-moz-appearance:none;appearance:none;-webkit-appearance:none}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--hoopp);box-shadow:0 0 0 3px #00893d1a}.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238a9990' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}.question-title{font-family:Fraunces,serif;font-size:1.3em;font-weight:600;line-height:1.35;margin-bottom:24px;letter-spacing:-.01em}.question-number{font-size:.7em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;display:block}.question-hint{font-size:.8em;color:var(--text-muted);font-style:italic;margin-bottom:20px}.card-grid{display:flex;flex-direction:column;gap:10px}.card-option{padding:16px 20px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:14px;font-size:.95em;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.card-option:active{transform:scale(.98)}.card-option .check{width:22px;height:22px;border:2px solid var(--border);border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.card-option.selected{border-color:var(--hoopp);background:var(--hoopp-bg)}.card-option.selected .check{background:var(--hoopp);border-color:var(--hoopp)}.card-option.selected .check:after{content:"✓";font-size:.75em;font-weight:700;color:#fff}.scale-container{display:flex;justify-content:space-between;gap:8px;margin-bottom:12px}.scale-option{flex:1;aspect-ratio:1;max-width:64px;border:2px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-size:1.3em;font-weight:700;color:var(--text-muted);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.scale-option:active{transform:scale(.92)}.scale-option.selected{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 0 16px #2aa5a04d}.scale-labels{display:flex;justify-content:space-between;font-size:.75em;color:var(--text-muted)}.btn-primary{width:100%;padding:16px;background:var(--hoopp);color:#fff;border:none;border-radius:var(--radius-sm);font-family:Outfit,sans-serif;font-size:1em;font-weight:600;cursor:pointer;transition:all .2s;margin-top:auto}.survey-header+.btn-primary{margin-top:0}.btn-primary:hover{background:var(--hoopp-light)}.btn-primary:disabled{background:var(--border);color:var(--text-muted);cursor:not-allowed}.btn-primary:active:not(:disabled){transform:scale(.98)}.thank-you{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.thank-you .check-circle{width:64px;height:64px;border-radius:50%;background:var(--hoopp-bg);border:2px solid var(--hoopp-border);display:flex;align-items:center;justify-content:center;font-size:1.8em;color:var(--hoopp);margin-bottom:8px}.thank-you h2{font-family:Fraunces,serif;font-size:1.5em}.thank-you p{color:var(--text-secondary);max-width:300px}.topbar{background:var(--bg-white);border-bottom:1px solid var(--border);padding:16px 32px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.topbar-left{display:flex;align-items:center;gap:16px}.topbar-logo{width:36px;height:36px;background:var(--hoopp);border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:Fraunces,serif;font-weight:700;font-size:1.1em;color:#fff}.topbar-title{font-weight:600}.topbar-subtitle{font-size:.8em;color:var(--text-muted)}.topbar-right{display:flex;align-items:center;gap:12px}.btn{padding:8px 18px;border-radius:8px;font-family:Outfit,sans-serif;font-size:.85em;font-weight:600;cursor:pointer;border:none;transition:all .2s}.btn-outline{background:var(--bg-white);border:1px solid var(--border);color:var(--text-secondary)}.btn-outline:hover{background:var(--bg-hover)}.btn-green{background:var(--hoopp);color:#fff}.btn-green:hover{background:var(--hoopp-light)}select.session-select{padding:8px 16px;border:1px solid var(--border);border-radius:8px;background:var(--bg);font-family:Outfit,sans-serif;font-size:.85em;color:var(--text)}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}.stat-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm)}.stat-label{font-size:.75em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.stat-value{font-family:Fraunces,serif;font-size:2.2em;font-weight:700;line-height:1}.stat-value.green{color:var(--hoopp)}.stat-value.teal{color:var(--teal)}.stat-value.amber{color:var(--amber)}.stat-sub{font-size:.8em;color:var(--text-muted);margin-top:6px}.filter-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.filter-bar h2{font-family:Fraunces,serif;font-size:1.4em;font-weight:600}.filter-group{display:flex;gap:8px;flex-wrap:wrap}.filter-chip{padding:6px 16px;border-radius:100px;font-size:.8em;font-weight:500;cursor:pointer;border:1px solid var(--border);background:var(--bg-white);color:var(--text-secondary);transition:all .2s}.filter-chip:hover{border-color:var(--hoopp-border);color:var(--hoopp)}.filter-chip.active{background:var(--hoopp);color:#fff;border-color:var(--hoopp)}.charts-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px}.chart-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-sm)}.chart-card.full-width{grid-column:1 / -1}.chart-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px}.chart-q{font-size:.7em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}.chart-title{font-size:1em;font-weight:600;line-height:1.3}.chart-badge{font-size:.65em;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:100px;white-space:nowrap;flex-shrink:0;margin-left:16px}.chart-badge.green{background:var(--hoopp-bg);color:var(--hoopp)}.chart-badge.teal{background:var(--teal-bg);color:var(--teal)}.chart-badge.amber{background:var(--amber-bg);color:var(--amber)}.admin-bar-chart{display:flex;flex-direction:column;gap:10px}.admin-bar-row{display:flex;align-items:center;gap:12px}.admin-bar-label{width:180px;text-align:right;font-size:.82em;color:var(--text-secondary);flex-shrink:0}.admin-bar-track{flex:1;height:30px;background:var(--bg);border-radius:8px;overflow:hidden}.admin-bar-fill{height:100%;border-radius:8px;display:flex;align-items:center;padding-left:12px;transition:width .6s cubic-bezier(.16,1,.3,1)}.admin-bar-fill.green{background:linear-gradient(90deg,var(--hoopp-dark),var(--hoopp))}.admin-bar-fill.red{background:linear-gradient(90deg,#a03030,var(--red))}.admin-bar-fill .pct{font-size:.78em;font-weight:700;color:#fff}.admin-dot-dist{display:flex;align-items:flex-end;justify-content:center;gap:28px;padding:16px 0 0}.admin-dot-col{display:flex;flex-direction:column;align-items:center;gap:4px}.admin-dot-stack{display:flex;flex-direction:column-reverse;align-items:center;gap:4px;min-height:80px}.admin-dot{width:14px;height:14px;border-radius:50%;background:var(--teal)}.admin-dot-num{font-size:.95em;font-weight:700;color:var(--text-muted);margin-top:6px}.admin-dot-sublabel{font-size:.65em;color:var(--text-muted)}.admin-avg{text-align:center;margin-top:20px;padding-top:16px;border-top:1px solid var(--border-light)}.admin-avg-number{font-family:Fraunces,serif;font-size:2.4em;font-weight:700;color:var(--teal);line-height:1}.admin-avg-label{font-size:.75em;color:var(--text-muted);margin-top:2px}.admin-bubble-wrap{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px;padding:24px 8px}.admin-bubble{border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:12px;transition:transform .3s ease}.admin-bubble:hover{transform:scale(1.06)}.admin-bubble .b-pct{font-family:Fraunces,serif;font-weight:700;font-size:1.2em;line-height:1}.admin-bubble .b-label{font-size:.58em;font-weight:500;color:var(--text-secondary);margin-top:3px;line-height:1.2}.table-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.table-header{display:flex;align-items:center;justify-content:space-between;padding:20px 28px;border-bottom:1px solid var(--border-light)}.table-header h3{font-family:Fraunces,serif;font-size:1.1em;font-weight:600}table{width:100%;border-collapse:collapse}thead th{text-align:left;padding:12px 20px;font-size:.7em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);background:var(--bg);border-bottom:1px solid var(--border-light);cursor:pointer;-webkit-user-select:none;user-select:none}thead th:hover{color:var(--hoopp)}tbody tr{border-bottom:1px solid var(--border-light);cursor:pointer;transition:background .15s}tbody tr:hover{background:var(--hoopp-bg)}tbody tr:last-child{border-bottom:none}tbody td{padding:14px 20px;font-size:.88em}.td-name{font-weight:600}.td-role{display:inline-block;padding:2px 10px;border-radius:100px;font-size:.8em;background:var(--bg);color:var(--text-secondary);border:1px solid var(--border)}.td-score{font-family:Fraunces,serif;font-weight:700;font-size:1.05em}.td-score.low{color:var(--red)}.td-score.mid{color:var(--amber)}.td-score.high{color:var(--hoopp)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:200}.modal-overlay.open{display:flex}.modal{background:var(--bg-white);border-radius:20px;width:580px;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:modalUp .4s cubic-bezier(.16,1,.3,1) both}@keyframes modalUp{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-top{padding:28px 28px 20px;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:flex-start}.modal-name{font-family:Fraunces,serif;font-size:1.5em;font-weight:700}.modal-meta{font-size:.85em;color:var(--text-muted);margin-top:4px}.modal-close{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1em;color:var(--text-muted);flex-shrink:0}.modal-close:hover{background:var(--bg-hover);color:var(--text)}.modal-body{padding:24px 28px 32px}.modal-section{margin-bottom:24px}.modal-section:last-child{margin-bottom:0}.modal-q-label{font-size:.68em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px}.modal-q-text{font-size:.9em;font-weight:500;margin-bottom:10px}.answer-pills{display:flex;flex-wrap:wrap;gap:6px}.pill{padding:5px 14px;border-radius:100px;font-size:.8em;font-weight:500;background:var(--hoopp-bg);color:var(--hoopp);border:1px solid var(--hoopp-border)}.pill.amber{background:var(--amber-bg);color:var(--amber);border-color:var(--amber-border)}.modal-scale-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.modal-scale-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border)}.modal-scale-dot.filled{background:var(--teal);border-color:var(--teal);box-shadow:0 0 10px #2aa5a040}.modal-scale-labels{display:flex;justify-content:space-between;font-size:.7em;color:var(--text-muted)}.vs-avg{display:inline-flex;align-items:center;gap:6px;font-size:.78em;color:var(--text-muted);margin-top:6px;padding:4px 10px;background:var(--bg);border-radius:6px}.vs-avg strong{color:var(--teal)}.login-container{max-width:400px;margin:120px auto;text-align:center}.login-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:var(--radius);padding:40px;box-shadow:var(--shadow-md)}.login-card h2{font-family:Fraunces,serif;margin-bottom:8px}.login-card p{color:var(--text-secondary);font-size:.9em;margin-bottom:24px}.login-error{color:var(--red);font-size:.85em;margin-top:12px;display:none}.login-error.visible{display:block}.admin-container{max-width:1280px;margin:0 auto;padding:32px}.view-toggle{display:flex;background:var(--bg);border:1px solid var(--border);border-radius:8px;overflow:hidden}.toggle-btn{padding:6px 16px;font-family:Outfit,sans-serif;font-size:.82em;font-weight:600;border:none;background:none;color:var(--text-muted);cursor:pointer;transition:all .2s}.toggle-btn.active{background:var(--hoopp);color:#fff}.toggle-btn:hover:not(.active){color:var(--text)}.presenter-hero{min-height:calc(100vh - 65px);display:flex;align-items:center;justify-content:center;padding:40px 0}.hero-inner{text-align:center;max-width:1100px;width:100%}.hero-label{font-family:Fraunces,serif;font-size:1.4em;font-weight:600;color:var(--text);margin-bottom:40px}.hero-cloud{min-height:400px;padding:48px 0;gap:20px 36px}.hero-meta{font-size:.9em;color:var(--text-muted);margin-top:32px}.scroll-hint{margin-top:24px;font-size:.75em;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);opacity:.5;animation:scrollBounce 2s ease-in-out infinite}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.presenter-below{padding-bottom:80px}.presenter-section{margin-bottom:48px}.section-title{font-family:Fraunces,serif;font-size:1.4em;font-weight:600;color:var(--text);margin-bottom:24px;text-align:center}.presenter-scores{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}.score-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:20px;padding:40px;text-align:center;box-shadow:var(--shadow-sm)}.score-number{font-family:Fraunces,serif;font-size:5em;font-weight:700;line-height:1}.score-number.teal{color:var(--teal)}.score-number.amber{color:var(--amber)}.score-scale{font-size:1em;color:var(--text-muted);margin-top:4px}.score-label{font-size:1.1em;font-weight:600;margin-top:16px;color:var(--text)}.score-sublabel{font-size:.85em;color:var(--text-muted);margin-top:4px}.presenter-bars-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cloud-card{background:var(--bg-white);border:1px solid var(--border-light);border-radius:20px;padding:32px;box-shadow:var(--shadow-sm)}.cloud-card.full-width{grid-column:1 / -1}.cloud-card.highlight{border-color:var(--amber-border);background:linear-gradient(135deg,var(--bg-white),rgba(196,138,44,.03))}.cloud-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:24px}.cloud-header h3{font-family:Fraunces,serif;font-size:1.1em;font-weight:600;line-height:1.3}.cloud-q{font-size:.65em;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:100px;background:var(--hoopp-bg);color:var(--hoopp);white-space:nowrap;flex-shrink:0;margin-left:12px}.cloud-q.amber{background:var(--amber-bg);color:var(--amber)}.word-cloud{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 28px;padding:16px 0;min-height:120px}.cloud-word{font-family:Fraunces,serif;font-weight:600;display:inline-block;line-height:1.2;cursor:default;white-space:nowrap;transition:transform .3s ease}.cloud-word:hover{transform:scale(1.1)!important;opacity:1!important}.cloud-word.cloud-animate{animation:cloudWordIn .7s cubic-bezier(.34,1.56,.64,1) both}@keyframes cloudWordIn{0%{opacity:0;transform:scale(.3) rotate(0);filter:blur(8px)}60%{filter:blur(0)}to{opacity:var(--word-opacity, 1);transform:scale(1) rotate(var(--word-rotate, 0deg));filter:blur(0)}}.cloud-pct{font-family:Outfit,sans-serif;font-size:.35em;font-weight:700;opacity:.6;vertical-align:super}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fadeUp .5s ease-out both}@media(max-width:768px){.stats-row{grid-template-columns:1fr 1fr}.charts-grid{grid-template-columns:1fr}.admin-container{padding:16px}.topbar{padding:12px 16px}}
