:root{--color-primary:#6c5ce7;--color-primary-hover:#5a4bd1;--color-primary-light:#6c5ce726;--color-accent:#00d2d3;--color-dark:#1a1a2e;--color-dark2:#16213e;--color-dark3:#0f3460;--color-bg:#f5f7fa;--color-card:#fff;--color-border:#e2e8f0;--color-text:#1a1a2e;--color-text-secondary:#64748b;--color-text-muted:#94a3b8;--color-danger:#dc2626;--color-success:#16a34a;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001f;--font-size-xs:.75rem;--font-size-sm:.8rem;--font-size-base:.875rem;--font-size-lg:1rem;--font-size-xl:1.125rem;--font-size-2xl:1.5rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5}.builder-page,.dashboard-page{flex-direction:column;min-height:100vh;display:flex}.builder-header{border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:flex-start;padding:24px 32px;display:flex}.header-left h1{color:var(--color-text);font-size:1.5rem;font-weight:700}.session-desc{color:var(--color-text-secondary);margin-top:4px}.session-meta{align-items:center;gap:12px;margin-top:8px;display:flex}.room-code{background:var(--color-border);border-radius:4px;padding:2px 8px;font-family:monospace;font-size:.875rem}.header-actions{flex-shrink:0;gap:8px;display:flex}.builder-content{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:24px 32px}.builder-grid{grid-template-columns:1fr 280px;gap:24px;display:grid}.section-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.section-header h2{font-size:1.125rem;font-weight:600}.btn-primary{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:background .15s}.btn-primary:hover{background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;padding:8px 16px;font-size:.875rem;font-weight:500;transition:background .15s}.btn-secondary:hover{background:#f9fafb}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1rem;transition:background .15s}.btn-icon:hover{background:var(--color-border)}.btn-icon.btn-danger{color:var(--color-danger);background:#fef2f2}.status-badge{text-transform:uppercase;border-radius:9999px;padding:2px 8px;font-size:.75rem;font-weight:600}.status-created{color:#1e40af;background:#dbeafe}.status-live{color:#166534;background:#dcfce7}.status-paused{color:#92400e;background:#fef3c7}.status-ended{color:#6b7280;background:#f3f4f6}.question-list{flex-direction:column;gap:8px;display:flex}.question-card{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:grab;background:#fff;align-items:center;gap:12px;padding:12px 16px;transition:box-shadow .2s;display:flex}.question-card:hover{box-shadow:var(--shadow-md)}.drag-handle{color:var(--color-text-muted);cursor:grab;-webkit-user-select:none;user-select:none}.question-info{flex:1;align-items:center;gap:8px;display:flex}.question-number{color:var(--color-text-secondary);min-width:28px;font-size:.875rem;font-weight:700}.type-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:600}.type-single_choice{color:#1e40af;background:#dbeafe}.type-multi_choice{color:#5b21b6;background:#ede9fe}.type-word_cloud{color:#9d174d;background:#fce7f3}.type-open_text{color:#065f46;background:#d1fae5}.question-title{flex:1;font-weight:500}.option-count{color:var(--color-text-muted);font-size:.8rem}.question-actions{gap:4px;display:flex}.empty-state{text-align:center;color:var(--color-text-muted);padding:48px 16px;font-size:.95rem}.question-form{border:1px solid var(--color-border);background:#fff;border-radius:8px;margin-bottom:16px;padding:20px}.question-form h3{margin-bottom:16px;font-size:1.125rem}.question-form label{color:#374151;margin-bottom:12px;font-size:.875rem;font-weight:500;display:block}.question-form input[type=text],.question-form select,.question-form textarea{border:1px solid #d1d5db;border-radius:6px;width:100%;margin-top:4px;padding:8px 12px;font-size:.875rem;display:block}.question-form input:focus,.question-form select:focus,.question-form textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.options-section{margin-bottom:12px}.options-section h4{margin-bottom:8px;font-size:.875rem}.option-row{gap:8px;margin-bottom:6px;display:flex}.option-row input{flex:1}.form-actions{gap:8px;margin-top:16px;display:flex}.form-error{color:var(--color-danger);background:#fef2f2;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:.875rem}.create-form{border:1px solid var(--color-border);background:#fff;border-radius:8px;max-width:480px;padding:24px}.create-form label{margin-bottom:16px;font-size:.875rem;font-weight:500;display:block}.create-form input,.create-form textarea,.create-form select{width:100%;color:var(--color-text);appearance:none;background:#fff 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='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") right 12px center no-repeat;border:1px solid #d1d5db;border-radius:6px;margin-top:4px;padding:8px 12px;font-size:.875rem;display:block}.create-form select{cursor:pointer;padding-right:32px}.qr-section{border:1px solid var(--color-border);text-align:center;background:#fff;border-radius:8px;height:fit-content;padding:20px}.qr-section h3{margin-bottom:12px;font-size:.95rem}.qr-preview{width:100%;max-width:200px}.qr-code-text{letter-spacing:.1em;margin-top:8px;font-family:monospace;font-size:1.25rem;font-weight:700}.loading{min-height:100vh;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:1.125rem;display:flex}.error-page{min-height:100vh;color:var(--color-danger);justify-content:center;align-items:center;font-size:1.125rem;display:flex}@keyframes dash-spinner{to{transform:rotate(360deg)}}.loading-spinner-lg{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite dash-spinner;display:inline-block}.dashboard-page{flex-direction:column;min-height:100vh;display:flex}.dashboard-topbar{background:linear-gradient(135deg, var(--color-dark) 0%, var(--color-dark2) 100%);color:#fff;justify-content:space-between;align-items:center;padding:12px 24px;display:flex}.topbar-join{background:#ffffff14;border-radius:10px;align-items:center;gap:12px;padding:8px 16px 8px 8px;display:flex}.topbar-qr{border-radius:6px;width:64px;height:64px}.topbar-join-info{flex-direction:column;gap:2px;display:flex}.topbar-join-label{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-size:.65rem;font-weight:600}.topbar-join-code{color:#00d2d3;letter-spacing:.08em;text-transform:uppercase;font-size:1.25rem;font-weight:800}.topbar-join-url{color:#cbd5e1;font-family:monospace;font-size:.7rem}.pacing-badge{text-transform:uppercase;letter-spacing:.03em;border-radius:12px;padding:3px 10px;font-size:.7rem;font-weight:600}.pacing-presenter{color:#1e40af;background:#dbeafe}.pacing-self_paced{color:#166534;background:#dcfce7}.sp-overview-bar{background:#f8fafc;border-bottom:1px solid #e2e8f0;align-items:center;gap:24px;padding:12px 24px;display:flex}.sp-overview-stats{flex-shrink:0;gap:16px;display:flex}.sp-stat{color:#64748b;font-size:.8rem}.sp-stat strong{color:#1e293b}.sp-overview-questions{scrollbar-width:none;flex:1;gap:6px;display:flex;overflow-x:auto}.sp-overview-questions::-webkit-scrollbar{display:none}.sp-q-pill{cursor:pointer;background:#fff;border:2px solid #e2e8f0;border-radius:8px;flex-direction:column;flex-shrink:0;align-items:center;min-width:44px;padding:4px 10px;transition:all .15s;display:flex}.sp-q-pill:hover{border-color:#6c5ce7}.sp-q-pill-active{background:#6c5ce710;border-color:#6c5ce7}.sp-q-pill-has-data{border-color:#22c55e40}.sp-q-pill-active.sp-q-pill-has-data{border-color:#6c5ce7}.sp-q-pill-num{color:#94a3b8;font-size:.65rem;font-weight:700}.sp-q-pill-count{color:#1e293b;font-size:.85rem;font-weight:800}.topbar-info{align-items:center;gap:16px;display:flex}.topbar-info h1{font-size:1.125rem;font-weight:600}.participant-count{color:var(--color-text-muted);font-size:.875rem}.participant-count strong{color:#22c55e}.control-bar{border-bottom:1px solid var(--color-border);background:#fff;align-items:center;gap:12px;padding:12px 24px;display:flex}.dashboard-main{flex:1;grid-template-columns:1fr 280px;display:grid;overflow:hidden}.results-area{padding:24px;overflow-y:auto}.results-area h2{margin-bottom:16px;font-size:1.25rem}.sidebar-questions{border-left:1px solid var(--color-border);background:#fff;padding:16px;overflow-y:auto}.sidebar-questions h3{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:.875rem;font-weight:600}.sidebar-question-item{cursor:pointer;border-radius:6px;margin-bottom:4px;padding:8px 12px;font-size:.85rem;transition:background .15s}.sidebar-question-item:hover{background:#f1f5f9}.sidebar-question-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:600}.session-summary{text-align:center;padding:48px}.session-summary h2{margin-bottom:24px;font-size:1.5rem}.summary-table{border-collapse:collapse;width:100%;max-width:600px;margin:0 auto}.summary-table th,.summary-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:8px 16px}.summary-table th{color:var(--color-text-secondary);font-size:.875rem;font-weight:600}.display-root{background:var(--present-bg,#111827);height:100vh;max-height:100vh;color:var(--present-text,#fff);flex-direction:column;justify-content:center;align-items:center;padding:clamp(16px,3vh,48px);display:flex;overflow:hidden}.display-question{text-align:center;max-width:900px;margin-bottom:32px;font-size:2rem;font-weight:700}.display-results{flex:1;justify-content:center;align-items:center;width:100%;max-width:900px;display:flex}.display-waiting{text-align:center}.display-waiting .qr-image{width:100%;max-width:400px}.display-waiting .room-code-display{letter-spacing:.15em;margin-top:24px;font-family:monospace;font-size:4rem;font-weight:700}.display-waiting .join-url{color:var(--color-text-muted);margin-top:12px;font-size:1.5rem}.bar-chart-container{width:100%;max-width:700px}.word-cloud-container{justify-content:center;width:100%;display:flex}.text-wall{flex-direction:column;gap:8px;width:100%;max-height:500px;display:flex;overflow-y:auto}.text-wall-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.text-card{border:1px solid var(--color-border);background:#fff;border-radius:8px;padding:12px 16px;font-size:.95rem}.display-root .text-card{background:color-mix(in srgb, var(--present-bg,#1f2937) 80%, gray);border-color:var(--present-muted,#374151);color:var(--present-text,#f3f4f6)}.display-root .text-wall{max-height:70vh}.results-panel{flex-direction:column;align-items:center;width:100%;display:flex}.no-results{color:var(--color-text-muted);text-align:center;padding:48px;font-size:1.125rem}.auth-page{background:var(--color-dark);color:#fff;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-logo-container{text-align:center;margin-bottom:24px}.auth-logo{width:auto;height:40px}.auth-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;width:100%;max-width:400px;padding:32px}.auth-card h1{color:var(--color-text);margin-bottom:8px;font-size:1.5rem;font-weight:700}.auth-card .auth-subtitle{color:var(--color-text-secondary);margin-bottom:24px;font-size:.875rem}.form-field{margin-bottom:16px}.form-field label{color:#374151;margin-bottom:4px;font-size:.875rem;font-weight:500;display:block}.form-field input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:.875rem;display:block}.form-field input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.form-field input.field-error{border-color:var(--color-danger)}.field-error-msg{color:var(--color-danger);margin-top:4px;font-size:.8rem}.auth-submit{width:100%;margin-top:8px}.auth-link{text-align:center;color:var(--color-text-secondary);margin-top:16px;font-size:.875rem}.auth-link a{color:var(--color-primary);font-weight:500;text-decoration:none}.role-badge{text-transform:uppercase;border-radius:9999px;padding:2px 8px;font-size:.7rem;font-weight:600}.role-super_admin{color:#92400e;background:#fef3c7}.role-admin{color:#1e40af;background:#dbeafe}.role-user{color:#6b7280;background:#f3f4f6}.app-nav{background:var(--color-dark);color:#fff;align-items:center;gap:32px;height:56px;padding:0 24px;display:flex}.app-nav a,.app-nav button{color:#fff;text-decoration:none}.nav-brand{flex-shrink:0;align-items:center;display:flex}.nav-logo{width:auto;height:32px}.nav-links{align-items:center;gap:4px;display:flex}.nav-link{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:6px 12px;font-size:.875rem;font-weight:500;transition:color .15s,background .15s}.nav-link:hover{color:#fff;background:#ffffff1a}.nav-right{align-items:center;gap:12px;margin-left:auto;display:flex}.nav-email{color:#94a3b8;font-size:.8rem}.page-container,.sessions-page{padding:var(--spacing-lg) var(--spacing-xl);width:100%;max-width:960px;margin:0 auto}.sessions-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.sessions-header h1{font-size:var(--font-size-2xl);font-weight:700}.session-list{flex-direction:column;gap:12px;display:flex}.session-item{padding:var(--spacing-md) 20px;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:#fff;justify-content:space-between;align-items:center;transition:box-shadow .2s;display:flex}.session-item-clickable{cursor:pointer}.session-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.session-item-name{color:var(--color-text);font-weight:600}.session-item-meta{color:var(--color-text-secondary);margin-top:4px;font-size:.8rem}.session-item-actions{gap:8px;display:flex}.admin-page{padding:var(--spacing-lg) var(--spacing-xl);width:100%;max-width:960px;margin:0 auto}.admin-page h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);font-weight:700}.admin-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);font-size:var(--font-size-base)}.admin-table{border-collapse:collapse;border:1px solid var(--color-border);background:#fff;border-radius:8px;width:100%;overflow:hidden}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:12px 16px}.admin-table th{color:var(--color-text-secondary);text-transform:uppercase;background:#f8fafc;font-size:.8rem;font-weight:600}.admin-table td{font-size:.875rem}.admin-role-select{border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:.875rem}.plan-badge{text-transform:uppercase;border-radius:10px;padding:2px 8px;font-size:.7rem;font-weight:600}.plan-pro{background:var(--color-accent);color:var(--color-bg)}.plan-free{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.btn-upgrade{background:var(--color-accent);color:var(--color-bg);cursor:pointer;border:none;border-radius:6px;padding:4px 12px;font-size:.8rem;font-weight:600}.btn-upgrade:hover{opacity:.9}.sub-active{color:#22c55e}.sub-canceled{color:#ef4444}.sub-inactive{color:#64748b}.sub-succeeded{color:#22c55e}.billing-page{max-width:720px;padding:var(--spacing-lg) var(--spacing-xl);margin:0 auto}.billing-page h1{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);color:var(--color-text);font-weight:700}.billing-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:20px 24px;transition:box-shadow .2s}.billing-card:hover{box-shadow:var(--shadow-sm)}.billing-card h2{font-size:var(--font-size-xl);color:var(--color-text);font-weight:600}.billing-status{align-items:center;gap:12px;margin-top:12px;display:flex}.billing-status .plan-badge{padding:6px 16px;font-size:1.25rem}.billing-status-price{color:var(--color-text-secondary)}.billing-renewal{margin-top:var(--spacing-sm);color:var(--color-text-secondary);font-size:var(--font-size-base)}.billing-section{margin-top:var(--spacing-lg)}.billing-success{color:#166534;border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);background:#dcfce7;padding:12px}.billing-detail{margin-top:12px}.billing-detail-muted{color:var(--color-text-secondary);margin-top:12px}.billing-actions{margin-top:var(--spacing-md)}.btn-danger-text{color:var(--color-danger)}.btn-cancel-link{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none}.card-input-wrapper{border-radius:var(--radius-sm);background:#fff;border:1px solid #d1d5db;margin-bottom:12px;padding:12px}.card-form-error{margin-bottom:12px}.card-form-actions{gap:var(--spacing-sm);align-items:center;display:flex}.tpl-page{padding:var(--spacing-lg) var(--spacing-xl);max-width:1200px;margin:0 auto}.tpl-page h1{font-size:var(--font-size-2xl);margin-bottom:4px;font-weight:700}.tpl-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:var(--font-size-base)}.tpl-tabs{margin-bottom:var(--spacing-lg);flex-wrap:wrap;gap:6px;display:flex}.tpl-tab{font-size:var(--font-size-sm);border:1px solid var(--color-border);color:#475569;cursor:pointer;background:#fff;border-radius:20px;padding:6px 14px;font-weight:500;transition:all .15s}.tpl-tab:hover{border-color:var(--color-primary);color:var(--color-primary)}.tpl-tab-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.tpl-grid{gap:var(--spacing-md);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}.tpl-card{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:10px;padding:20px;transition:box-shadow .2s,transform .15s}.tpl-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.tpl-card-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tpl-cat-badge{border-radius:4px;padding:3px 8px;font-size:.7rem;font-weight:600}.tpl-q-count{font-size:var(--font-size-xs);color:var(--color-text-muted)}.tpl-card-title{font-size:var(--font-size-lg);color:var(--color-text);margin:0 0 6px;font-weight:600}.tpl-card-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.tpl-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.tpl-modal{background:#fff;border-radius:12px;width:100%;max-width:620px;max-height:80vh;padding:28px;overflow:auto;box-shadow:0 20px 60px #00000026}.tpl-modal-header{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.tpl-modal-title{color:var(--color-text);margin:8px 0 4px;font-size:1.25rem;font-weight:700}.tpl-modal-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.tpl-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.5rem;line-height:1}.tpl-close:hover{color:#475569}.tpl-questions{margin:20px 0}.tpl-questions-heading{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:12px;font-weight:600}.tpl-question{background:#f8fafc;border:1px solid #f1f5f9;border-radius:8px;gap:10px;margin-bottom:8px;padding:12px 14px;display:flex}.tpl-q-num{font-size:var(--font-size-sm);color:var(--color-text-muted);min-width:20px;padding-top:1px;font-weight:600}.tpl-q-body{flex:1}.tpl-q-title{font-weight:500;font-size:var(--font-size-base);color:var(--color-text);margin:0 0 6px}.tpl-q-options{flex-wrap:wrap;gap:4px;display:flex}.tpl-q-opt{color:#475569;background:#e2e8f0;border-radius:4px;padding:3px 8px;font-size:.7rem}.tpl-q-opt-correct{color:#166534;background:#dcfce7;border:1px solid #bbf7d0}.tpl-q-type{font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.tpl-modal-actions{border-top:1px solid #f1f5f9;justify-content:flex-end;gap:12px;padding-top:16px;display:flex}.sessions-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.sessions-filters{gap:6px;display:flex}.filter-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:20px;align-items:center;gap:6px;padding:6px 14px;font-size:.8rem;font-weight:500;transition:all .15s;display:inline-flex}.filter-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.filter-btn-active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.filter-count{text-align:center;background:#0000001a;border-radius:10px;min-width:18px;padding:1px 6px;font-size:.7rem}.filter-btn-active .filter-count{background:#ffffff40}.sessions-sort{gap:4px;display:flex}.sort-btn{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:6px;padding:5px 12px;font-size:.75rem;font-weight:500;transition:all .15s}.sort-btn:hover{border-color:var(--color-primary)}.sort-btn-active{border-color:var(--color-primary);color:var(--color-primary);background:#f0f0ff}.session-item-top-row{align-items:center;gap:10px;display:flex}.session-item-stat{white-space:nowrap}.session-item-stat-sep{color:#cbd5e1}.session-item-link{align-items:center;gap:8px;margin-top:6px;display:flex}.session-code{color:#6c5ce7;text-transform:uppercase;letter-spacing:.05em;background:#6c5ce714;border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:700}.session-join-url{color:#94a3b8;font-family:monospace;font-size:.75rem}.btn-copy{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:4px;padding:2px 10px;font-size:.7rem;font-weight:500;transition:all .15s}.btn-copy:hover{color:#6c5ce7;border-color:#6c5ce7}.share-link-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;display:flex}.share-link-url{color:#475569;text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:monospace;font-size:.75rem;overflow:hidden}.qa-panel{background:#1e293b;border-radius:12px;margin-top:16px;padding:16px}.qa-panel-title{color:#e2e8f0;margin:0 0 12px;font-size:1rem;font-weight:700}.qa-empty{color:#64748b;font-size:.85rem}.qa-list{flex-direction:column;gap:8px;max-height:400px;display:flex;overflow-y:auto}.qa-card{background:#0f172a;border-left:3px solid #6c5ce7;border-radius:8px;padding:12px}.qa-status-pinned{background:#0f172a;border-left-color:#00d2d3}.qa-status-answered{opacity:.6;border-left-color:#22c55e}.qa-text{color:#e2e8f0;margin:0 0 8px;font-size:.9rem;line-height:1.4}.qa-meta{align-items:center;gap:8px;margin-bottom:8px;display:flex}.qa-votes{color:#94a3b8;font-size:.8rem;font-weight:600}.qa-badge-pinned{color:#0f172a;text-transform:uppercase;background:#00d2d3;border-radius:4px;padding:2px 6px;font-size:.7rem;font-weight:700}.qa-actions{gap:6px;display:flex}.qa-btn{color:#94a3b8;cursor:pointer;background:0 0;border:1px solid #334155;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:600}.qa-btn:hover{color:#e2e8f0;background:#334155}.qa-btn-pin{color:#00d2d3;border-color:#00d2d3}.qa-btn-answered{color:#22c55e;border-color:#22c55e}.qa-btn-dismiss{color:#ef4444;border-color:#ef4444}.qa-answered-heading{color:#64748b;text-transform:uppercase;letter-spacing:.03em;margin:12px 0 8px;font-size:.8rem;font-weight:600}.qa-display{text-align:center;padding:40px 20px}.qa-display-title{color:#e2e8f0;margin-bottom:24px;font-size:1.8rem;font-weight:700}.qa-display-jumbotron .qa-display-title{font-size:clamp(2rem,4vw,4rem)}.qa-display-list{flex-direction:column;gap:16px;max-width:800px;margin:0 auto;display:flex}.qa-display-card{text-align:left;background:#1e293b;border-radius:12px;align-items:flex-start;gap:16px;padding:20px;display:flex}.qa-display-pinned{border:2px solid #00d2d3}.qa-display-votes{color:#6c5ce7;text-align:center;background:#0f172a;border-radius:8px;min-width:48px;padding:8px;font-size:1.5rem;font-weight:800}.qa-display-jumbotron .qa-display-votes{min-width:72px;font-size:clamp(1.5rem,3vw,3rem)}.qa-display-text{color:#e2e8f0;margin:0;font-size:1.2rem;line-height:1.5}.qa-display-jumbotron .qa-display-text{font-size:clamp(1.2rem,2.5vw,2.5rem)}.present-mode{background:var(--present-bg,#0f172a);color:var(--present-text,#f1f5f9);min-height:100vh;font-family:system-ui,-apple-system,sans-serif;transition:background .3s,color .3s;position:relative;overflow:hidden}.present-light{--present-bg:#f8fafc;--present-text:#1e293b;--present-muted:#64748b}.live-stats-view,.final-results-view{flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,2vh,24px);height:100vh;max-height:100vh;padding:clamp(16px,3vw,48px);display:flex;overflow:hidden}.live-stats-logo{object-fit:contain;max-width:200px;max-height:clamp(40px,6vw,80px)}.live-stats-header{flex-wrap:wrap;justify-content:center;gap:clamp(24px,6vw,80px);display:flex}.live-stats-big-number{text-align:center}.live-stats-big-value{color:var(--present-primary,#6c5ce7);font-size:clamp(3rem,8vw,10rem);font-weight:900;line-height:1;display:block}.live-stats-big-label{text-transform:uppercase;letter-spacing:.1em;color:var(--present-muted,#94a3b8);margin-top:4px;font-size:clamp(.8rem,2vw,1.5rem);display:block}.live-stats-progress{width:100%;max-width:700px}.live-stats-progress-label{color:var(--present-muted,#94a3b8);text-align:center;margin-bottom:8px;font-size:clamp(.8rem,1.5vw,1.2rem)}.live-stats-progress-bar{background:#80808033;border-radius:12px;height:clamp(12px,2vw,24px);overflow:hidden}.live-stats-progress-fill{background:var(--present-primary,#6c5ce7);border-radius:12px;min-width:2px;height:100%;transition:width .5s ease-out}.live-stats-heatmap{flex-wrap:wrap;justify-content:center;gap:clamp(4px,.5vw,8px);max-width:800px;display:flex}.live-stats-heatmap-cell{border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:clamp(40px,5vw,64px);height:clamp(40px,5vw,64px);transition:background .3s;display:flex}.live-stats-heatmap-num{color:#ffffffe6;font-size:clamp(.6rem,1vw,.85rem);font-weight:700}.live-stats-heatmap-count{color:#fff;font-size:clamp(.7rem,1.2vw,1.1rem);font-weight:800}.live-stats-callouts{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.live-stats-callout{border-radius:12px;padding:clamp(8px,1.5vw,16px) clamp(16px,2vw,28px);font-size:clamp(.8rem,1.5vw,1.2rem);font-weight:600}.live-stats-callout-good{color:#16a34a;background:#16a36a26}.live-stats-callout-hard{color:#dc2626;background:#dc262626}.final-results-title{text-align:center;margin:0;font-size:clamp(1.5rem,3vw,3rem);font-weight:900}.final-results-cards{flex-wrap:wrap;justify-content:center;gap:clamp(8px,1.5vw,16px);display:flex}.final-results-card{text-align:center;background:#8080801a;border-radius:12px;min-width:100px;padding:clamp(10px,1.5vw,20px) clamp(16px,2vw,32px)}.final-results-card-value{color:var(--present-primary,#6c5ce7);font-size:clamp(1.5rem,3.5vw,3rem);font-weight:900;line-height:1}.final-results-card-label{color:var(--present-muted,#94a3b8);text-transform:uppercase;letter-spacing:.08em;margin-top:2px;font-size:clamp(.6rem,1vw,.85rem)}.final-results-bars{flex:1;grid-template-columns:repeat(2,1fr);align-content:center;gap:clamp(2px,.4vh,6px) 24px;width:100%;max-width:900px;min-height:0;display:grid}.final-results-bar-row{grid-template-columns:32px 1fr 40px;align-items:center;gap:6px;display:grid}.final-results-bar-label{color:var(--present-muted,#94a3b8);font-size:clamp(.6rem,1vw,.85rem);font-weight:700}.final-results-bar-track{background:#80808026;border-radius:4px;height:clamp(10px,1.5vh,20px);overflow:hidden}.final-results-bar-fill{border-radius:4px;min-width:2px;height:100%;transition:width .8s ease-out}.final-results-bar-pct{text-align:right;font-size:clamp(.6rem,1vw,.85rem);font-weight:700}.floating-reaction{pointer-events:none;z-index:1000;font-size:clamp(2rem,4vw,4rem);animation:3s ease-out forwards float-up;position:fixed;bottom:0}@keyframes float-up{0%{opacity:1;transform:translateY(0)scale(1)}50%{opacity:1}to{opacity:0;transform:translateY(-100vh)scale(.5)}}.present-stats-bar{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;z-index:50;background:#00000080;border-radius:24px;gap:20px;padding:8px 24px;font-size:.85rem;font-weight:600;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}.present-light .present-stats-bar{color:#1e293b;background:#00000014}.present-waiting-logo{object-fit:contain;max-width:clamp(100px,20vw,250px);max-height:clamp(30px,6vh,80px)}.present-waiting{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:clamp(.5rem,2vh,2rem);height:100vh;max-height:100vh;padding:clamp(1rem,3vh,2rem);display:flex;overflow:hidden}.present-waiting-name{color:var(--present-text,#f1f5f9);letter-spacing:-.02em;margin:0;font-size:clamp(1.5rem,min(6vw,8vh),6rem);font-weight:800}.present-waiting-sub{color:var(--present-muted,#94a3b8);margin:0;font-size:clamp(.9rem,min(2.5vw,3vh),2rem)}.present-waiting-qr{flex-shrink:0;width:clamp(120px,min(30vw,35vh),350px);height:clamp(120px,min(30vw,35vh),350px)}.present-waiting-qr svg{background:#fff;border-radius:12px;width:100%;height:100%;padding:12px;box-shadow:0 2px 12px #0000001a}.present-waiting-qr-placeholder{background:var(--present-muted,#1e293b);opacity:.3;border-radius:16px;width:clamp(120px,min(30vw,35vh),350px);height:clamp(120px,min(30vw,35vh),350px)}.present-waiting-code{color:var(--present-primary,#6c5ce7);letter-spacing:.1em;font-size:clamp(1.5rem,min(4vw,5vh),4rem);font-weight:700}.present-code-label{color:var(--present-muted,#64748b);font-size:.6em;font-weight:400}.present-waiting-join{color:var(--present-muted,#64748b);font-size:clamp(.85rem,min(2vw,2.5vh),1.5rem)}.present-waiting-count{color:#00d2d3;font-size:clamp(.85rem,min(2vw,2.5vh),1.5rem);font-weight:600;animation:2s ease-in-out infinite present-pulse}@keyframes present-pulse{0%,to{opacity:1}50%{opacity:.6}}.present-qr-corner{z-index:100;opacity:.85;width:120px;height:120px;transition:opacity .2s;position:fixed;bottom:20px;right:20px}.present-qr-corner:hover{opacity:1}.present-qr-corner svg{background:#fff;border-radius:8px;width:100%;height:100%;padding:8px}.present-countdown{justify-content:center;align-items:center;margin:1.5rem auto;display:flex}.present-countdown-num{color:#00d2d3;font-variant-numeric:tabular-nums;font-size:clamp(4rem,8vw,12rem);font-weight:800;transition:color .3s}.present-countdown-urgent .present-countdown-num{color:#ef4444;animation:.5s ease-in-out infinite present-countdown-shake}@keyframes present-countdown-shake{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.present-question-view{flex-direction:column;flex:1;justify-content:center;align-items:center;height:100%;max-height:100vh;display:flex;overflow:hidden}.present-options{grid-template-columns:repeat(2,1fr);gap:clamp(8px,1.5vh,16px);width:100%;max-width:800px;padding:0 clamp(16px,3vw,48px);display:grid}.present-option{background:#8080801a;border-left:4px solid;border-radius:12px;align-items:center;gap:clamp(8px,1vw,16px);padding:clamp(10px,1.5vh,20px) clamp(12px,1.5vw,24px);font-size:clamp(.9rem,1.5vw,1.4rem);font-weight:500;display:flex}.present-option-letter{color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:clamp(28px,3vw,40px);height:clamp(28px,3vw,40px);font-size:clamp(.8rem,1.2vw,1.2rem);font-weight:800;display:flex}.present-option-text{flex:1;min-width:0}.present-word-cloud{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,1vw,16px);max-width:800px;padding:clamp(16px,3vh,40px) clamp(16px,3vw,48px);display:flex}.present-cloud-word{color:var(--present-primary,#6c5ce7);font-weight:700;line-height:1.2;transition:font-size .5s ease-out}.present-mode .display-question{text-align:center;color:var(--present-text,#f1f5f9);margin-bottom:0;padding:clamp(1rem,2vh,2rem) clamp(1rem,3vw,3rem);font-size:clamp(1.5rem,min(4vw,6vh),4rem);font-weight:700}.present-light .present-option{background:#0000000a}.present-mode .display-results{max-width:80vw;margin:0 auto;padding:0 2rem 2rem}@media (width>=1920px){.present-mode .display-question{font-size:6rem}.present-qr-corner{width:160px;height:160px}}.qa-display-mini{background:#0f172af2;border-top:3px solid #6c5ce7;border-radius:12px;align-items:center;gap:12px;padding:12px 20px;display:flex;position:fixed;bottom:20px;left:20px;right:20px}.qa-display-mini-label{text-transform:uppercase;color:#6c5ce7;letter-spacing:.05em;white-space:nowrap;font-size:.7rem;font-weight:700}.qa-display-mini-text{color:#e2e8f0;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:1rem;overflow:hidden}.qa-display-mini-votes{color:#94a3b8;white-space:nowrap;font-size:.85rem;font-weight:600}.results-page{padding:var(--spacing-xl);max-width:960px;margin:0 auto}.results-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.results-title{margin:0;font-size:28px}.results-meta{color:var(--color-text-muted);margin-top:4px;font-size:14px}.results-status-badge{color:#fff;border-radius:4px;margin-right:8px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.results-status-ended{background:var(--color-text-secondary)}.results-status-live{background:var(--color-primary)}.results-stats-grid{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);grid-template-columns:repeat(3,1fr);display:grid}.stat-card{background:var(--color-card);border-radius:var(--radius-md);padding:var(--spacing-md) 20px;border:1px solid var(--color-border)}.stat-card-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:4px}.stat-card-value{font-size:24px;font-weight:700}.stat-card-subtitle{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:2px}.result-question-card{background:var(--color-card);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);border:1px solid var(--color-border);padding:20px}.result-question-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.result-q-number{color:var(--color-text-muted);font-size:14px;font-weight:600}.result-type-badge{color:#fff;text-transform:capitalize;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.result-response-count{color:var(--color-text-muted);font-size:13px}.results-empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted)}.builder-settings{flex-wrap:wrap;gap:16px;margin-top:12px;display:flex}.builder-setting{flex-direction:column;gap:4px;display:flex}.builder-setting>label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.onboarding-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.onboarding-modal{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:480px;padding:40px;box-shadow:0 20px 60px #0000004d}.onboarding-icon{margin-bottom:16px;font-size:3rem}.onboarding-title{color:var(--color-text);margin:0 0 12px;font-size:1.5rem;font-weight:800}.onboarding-body{color:#64748b;margin:0 0 24px;font-size:1rem;line-height:1.6}.onboarding-dots{justify-content:center;gap:8px;margin-bottom:24px;display:flex}.onboarding-dot{background:#e2e8f0;border-radius:50%;width:8px;height:8px}.onboarding-dot-active{background:var(--color-primary);border-radius:4px;width:24px}.onboarding-actions{justify-content:center;gap:12px;display:flex}.onboarding-skip{color:#94a3b8;cursor:pointer;background:0 0;border:none;margin-top:16px;font-size:.85rem}.onboarding-skip:hover{color:#64748b}.builder-tabs{border-bottom:2px solid var(--color-border);gap:0;margin-bottom:20px;display:flex}.builder-tab{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px;font-size:.85rem;font-weight:600;transition:color .15s,border-color .15s}.builder-tab:hover{color:var(--color-text)}.builder-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.settings-panels{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:16px;display:grid}.settings-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:20px}.settings-panel-title{color:var(--color-text);border-bottom:1px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px;padding-bottom:8px;font-size:.75rem;font-weight:700}.settings-field{flex-direction:column;gap:4px;margin-bottom:14px;display:flex}.settings-field:last-child{margin-bottom:0}.settings-label{color:var(--color-text-muted);font-size:.75rem;font-weight:600}.settings-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);background:#fff;padding:6px 10px;font-size:.85rem}.settings-textarea{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);resize:vertical;background:#fff;min-height:48px;padding:8px 10px;font-family:inherit;font-size:.85rem}.settings-textarea:focus,.settings-select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 2px #6c5ce726}.results-tab{max-width:900px}.results-overview{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px;display:grid}.results-stat-card{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;background:#fff;padding:20px}.results-stat-value{color:var(--color-primary);font-size:2rem;font-weight:800;line-height:1}.results-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:6px;font-size:.75rem}.results-table{border-collapse:collapse;width:100%;font-size:.85rem}.results-table th{text-align:left;border-bottom:2px solid var(--color-border);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:8px 12px;font-size:.7rem}.results-table td{border-bottom:1px solid var(--color-border);padding:8px 12px}.results-table tr:hover td{background:#f8fafc}.results-question{border-bottom:1px solid var(--color-border);padding:16px 0}.results-question:last-child{border-bottom:none}.results-question-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;display:flex}.results-question-num{color:var(--color-primary);background:#6c5ce71a;border-radius:4px;padding:2px 8px;font-size:.8rem;font-weight:700}.results-question-title{flex:1;min-width:0;font-weight:600}.results-question-type{text-transform:uppercase;color:var(--color-text-muted);background:var(--color-border);border-radius:4px;padding:2px 8px;font-size:.7rem}.results-question-count{color:var(--color-text-muted);font-size:.8rem}.results-bars{flex-direction:column;gap:6px;display:flex}.results-bar-row{grid-template-columns:120px 1fr 80px;align-items:center;gap:8px;font-size:.8rem;display:grid}.results-bar-label{text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);overflow:hidden}.results-bar-track{background:#f1f5f9;border-radius:4px;height:20px;overflow:hidden}.results-bar-fill{background:var(--color-primary);border-radius:4px;min-width:2px;height:100%;transition:width .3s}.results-bar-value{color:var(--color-text-muted);text-align:right;font-size:.75rem}.results-texts{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.results-text-chip{color:var(--color-text);background:#f1f5f9;border-radius:12px;padding:4px 10px;font-size:.8rem}.builder-setting-row{align-items:center;gap:8px;display:flex}.builder-inline-select{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);appearance:none;cursor:pointer;background:#fff 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='%2364748b' d='M2 4l4 4 4-4'/%3E%3C/svg%3E") right 8px center no-repeat;padding:6px 28px 6px 10px;font-size:.85rem}.builder-inline-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);outline:none}.branch-description{color:var(--color-text-secondary,#64748b);margin:6px 0 0 24px;font-size:.8rem;line-height:1.4}.inline-saved{color:#16a34a;background:#f0fdf4;border-radius:4px;padding:2px 8px;font-size:.7rem;font-weight:600;animation:2s ease-out forwards inline-saved-fade}@keyframes inline-saved-fade{0%{opacity:1}70%{opacity:1}to{opacity:0}}@media (width<=768px){.builder-header{flex-direction:column;gap:12px;padding:16px}.header-actions{justify-content:flex-end;width:100%}.builder-content{padding:16px}.builder-grid,.dashboard-main{grid-template-columns:1fr}.sidebar-questions{border-left:none;border-top:1px solid var(--color-border)}.sessions-page,.admin-page,.billing-page,.tpl-page{padding:16px}.sessions-header{flex-direction:column;align-items:flex-start;gap:12px}.admin-table{display:block;overflow-x:auto}.tpl-grid{grid-template-columns:1fr}.app-nav{gap:12px;padding:0 12px}.nav-links{gap:2px}.nav-link{padding:6px 8px;font-size:.8rem}.nav-email{display:none}.control-bar{flex-wrap:wrap;padding:8px 12px}.sp-overview-bar{flex-direction:column;gap:8px;padding:8px 12px}.results-area{padding:16px}.topbar-join{padding:6px 10px 6px 6px}.topbar-qr{width:48px;height:48px}.results-page{padding:16px}.results-stats-grid{grid-template-columns:1fr}.results-header{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=428px){.session-item{flex-direction:column;align-items:flex-start;gap:12px}.session-item-actions{width:100%}.builder-grid{gap:16px}.question-card{flex-wrap:wrap}.dashboard-topbar{flex-direction:column;gap:8px;padding:8px 12px}.topbar-info h1{font-size:1rem}.btn-upgrade{display:none}}
