:root{--primary:#f54e00;--primary-active:#d04200;--primary-hover:#d04200;--primary-light:#f54e0014;--on-primary:#fff;--ink:#26251e;--body:#5a5852;--body-strong:#26251e;--muted:#807d72;--muted-soft:#a09c92;--canvas:#f7f7f4;--canvas-soft:#fafaf7;--surface-card:#fff;--surface-strong:#e6e5e0;--hairline:#e6e5e0;--hairline-soft:#efeee8;--hairline-strong:#cfcdc4;--timeline-thinking:#dfa88f;--timeline-grep:#9fc9a2;--timeline-read:#9fbbe0;--timeline-edit:#c0a8dd;--timeline-done:#c08532;--semantic-success:#1f8a65;--semantic-error:#cf2d56;--overlay-scrim:#26251e80;--font-sans:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Menlo, Consolas, monospace;--radius-none:0px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-pill:9999px;--radius-full:9999px;--spacing-xxs:4px;--spacing-xs:8px;--spacing-sm:12px;--spacing-base:16px;--spacing-md:20px;--spacing-lg:24px;--spacing-xl:32px;--spacing-xxl:48px;--spacing-section:80px;--bg-main:var(--canvas);--bg-surface:var(--surface-card);--bg-surface-elevated:var(--surface-card);--bg-alt:var(--canvas-soft);--text-main:var(--ink);--text-muted:var(--body);--text-subtle:var(--muted);--border-light:var(--hairline);--border-focus:var(--primary);--shadow-sm:none;--shadow-md:none;--shadow-lg:0 4px 16px #26251e0f;--shadow-xl:0 12px 32px #26251e1f;--transition-fast:.15s ease;--transition-normal:.2s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--canvas);color:var(--ink);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.5}.app-container{background-color:var(--canvas);flex-direction:column;min-height:100vh;display:flex}.top-nav-bar{background:var(--canvas);border-bottom:1px solid var(--hairline);z-index:50;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex;position:sticky;top:0}.brand-wrapper{cursor:pointer;align-items:center;gap:.75rem;text-decoration:none;display:flex}.brand-icon{border-radius:var(--radius-md);background:var(--primary);width:32px;height:32px;color:var(--on-primary);transition:transform var(--transition-fast);justify-content:center;align-items:center;display:flex}.brand-icon:hover{transform:scale(1.04)}.brand-title{font-family:var(--font-sans);letter-spacing:-.3px;color:var(--ink);font-size:1.15rem;font-weight:600}.brand-badge{font-family:var(--font-mono);border-radius:var(--radius-pill);background:var(--primary-light);color:var(--primary);letter-spacing:.5px;text-transform:uppercase;padding:2px 8px;font-size:11px;font-weight:500}.nav-tabs{background:var(--canvas-soft);border-radius:var(--radius-md);border:1px solid var(--hairline);align-items:center;gap:4px;padding:4px;display:flex}.nav-tab-btn{border-radius:var(--radius-sm);color:var(--body);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:6px 14px;font-size:.88rem;font-weight:500;display:flex}.nav-tab-btn:hover{color:var(--ink);background:#26251e0a}.nav-tab-btn.active{background:var(--surface-card);color:var(--ink);font-weight:600;box-shadow:0 1px 3px #26251e14}.marquee-strip{background:var(--canvas-soft);height:36px;color:var(--body);border-bottom:1px solid var(--hairline);font-family:var(--font-mono);letter-spacing:.88px;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 2rem;font-size:11px;font-weight:500;display:flex;overflow:hidden}.marquee-strip a,.marquee-strip span{color:var(--body)}.btn{border-radius:var(--radius-md);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;justify-content:center;align-items:center;gap:8px;height:40px;padding:10px 18px;font-size:.88rem;font-weight:500;line-height:1;text-decoration:none;display:inline-flex}.btn-primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--primary)}.btn-primary:hover{background:var(--primary-active);border-color:var(--primary-active)}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--surface-card);color:var(--ink);border:1px solid var(--hairline)}.btn-secondary:hover{background:var(--canvas-soft);border-color:var(--hairline-strong)}.btn-secondary:active{transform:scale(.98)}.btn-dark{background:var(--ink);color:var(--canvas);border:1px solid var(--ink)}.btn-dark:hover{background:#3b3a32;border-color:#3b3a32}.btn-icon-circular{border-radius:var(--radius-md);background:var(--surface-card);border:1px solid var(--hairline);width:38px;height:38px;color:var(--ink);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.btn-icon-circular:hover{background:var(--canvas-soft);border-color:var(--hairline-strong)}.btn-sm{border-radius:var(--radius-sm);height:32px;padding:6px 12px;font-size:.82rem}.btn-lg{border-radius:var(--radius-md);height:44px;padding:12px 22px;font-size:.95rem}.btn-danger-subtle{background:var(--surface-card);color:var(--semantic-error);border:1px solid var(--hairline)}.btn-danger-subtle:hover{background:#fff5f7;border-color:#fbcad5}.card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:none;transition:border-color var(--transition-normal);padding:24px}.card-hover:hover{border-color:var(--hairline-strong)}.timeline-pill{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.88px;text-transform:uppercase;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.timeline-pill-thinking{background:var(--timeline-thinking);color:var(--ink)}.timeline-pill-grep{background:var(--timeline-grep);color:var(--ink)}.timeline-pill-read{background:var(--timeline-read);color:var(--ink)}.timeline-pill-edit{background:var(--timeline-edit);color:var(--ink)}.timeline-pill-done{background:var(--timeline-done);color:var(--on-primary)}.badge-pill{background:var(--surface-strong);color:var(--ink);font-family:var(--font-mono);letter-spacing:.88px;text-transform:uppercase;border-radius:var(--radius-pill);align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.tag-pill{border-radius:var(--radius-pill);font-family:var(--font-mono);letter-spacing:.88px;text-transform:uppercase;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:inline-flex}.figma-eyebrow,.cursor-eyebrow{font-family:var(--font-mono);letter-spacing:.88px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}@keyframes liveDotPulse{0%{transform:scale(.95);box-shadow:0 0 #f54e0099}70%{transform:scale(1.1);box-shadow:0 0 0 6px #f54e0000}to{transform:scale(.95);box-shadow:0 0 #f54e0000}}.live-indicator-dot{background-color:var(--primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.8s infinite liveDotPulse;display:inline-block}.main-content{box-sizing:border-box;flex:1;width:100%;max-width:1560px;margin:0 auto;padding:2rem 2.25rem}.hub-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:1.75rem;display:grid}.hub-kpi-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);transition:border-color var(--transition-fast), transform .15s ease;flex-direction:column;justify-content:space-between;min-height:124px;padding:1.15rem 1.25rem;display:flex}.hub-kpi-card:hover{border-color:var(--hairline-strong);transform:translateY(-1px)}.hub-kpi-card .kpi-number{font-family:var(--font-mono);letter-spacing:-.6px;color:var(--ink);margin:.35rem 0 .25rem;font-size:1.85rem;font-weight:600;line-height:1.1}.hub-kpi-card.color-block-green{border-top:3px solid #10b981}.hub-kpi-card.color-block-orange{border-top:3px solid var(--primary)}.hub-kpi-card.color-block-blue{border-top:3px solid #3b82f6}.hub-kpi-card.color-block-purple{border-top:3px solid #8b5cf6}.hub-kpi-card.color-block-amber{border-top:3px solid #f59e0b}.hub-kpi-card.color-block-slate{border-top:3px solid #64748b}.hub-kpi-card.color-block-red{border-top:3px solid #ef4444}.hub-kpi-card.color-block-teal{border-top:3px solid #0d9488}.hub-log-console{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:2rem;overflow:hidden}.hub-log-header{background:var(--canvas-soft);border-bottom:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.85rem 1.25rem;display:flex}.hub-log-filter-btn{border:1px solid var(--hairline);border-radius:var(--radius-pill);color:var(--muted);cursor:pointer;background:0 0;padding:3px 10px;font-size:.76rem;font-weight:500;transition:all .15s}.hub-log-filter-btn:hover{border-color:var(--primary);color:var(--primary)}.hub-log-filter-btn.active{background:var(--primary);border-color:var(--primary);color:var(--on-primary);font-weight:600}.hub-log-body{max-height:280px;padding:.25rem 0;overflow-y:auto}.hub-log-item{border-bottom:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;gap:1rem;padding:.65rem 1.25rem;font-size:.82rem;transition:background .15s;display:flex}.hub-log-item:last-child{border-bottom:none}.hub-log-item:hover{background:var(--canvas-soft)}.hub-log-badge{font-family:var(--font-mono);border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.72rem;font-weight:600}.hub-log-badge.badge-survey-create{color:#059669;background:#10b9811f;border:1px solid #10b9814d}.hub-log-badge.badge-survey-update{color:#2563eb;background:#3b82f61f;border:1px solid #3b82f64d}.hub-log-badge.badge-survey-delete{color:#dc2626;background:#ef44441f;border:1px solid #ef44444d}.hub-log-badge.badge-user-create{color:#7c3aed;background:#8b5cf61f;border:1px solid #8b5cf64d}.hub-log-badge.badge-user-update{color:#0d9488;background:#0d94881f;border:1px solid #0d94884d}.hub-log-badge.badge-user-delete{color:#dc2626;background:#ef44441f;border:1px solid #ef44444d}.hub-log-badge.badge-password{color:#d97706;background:#f59e0b1f;border:1px solid #f59e0b4d}.hub-log-badge.badge-response{color:var(--primary);background:#f54e001f;border:1px solid #f54e004d}.unified-survey-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-sizing:border-box;flex-direction:column;height:100%;padding:1.5rem;transition:border-color .2s,transform .2s;display:flex;position:relative}.unified-survey-card:hover{border-color:var(--primary)}.survey-frame-header{box-sizing:border-box;flex-direction:column;justify-content:space-between;height:52px;min-height:52px;max-height:52px;margin-bottom:.85rem;display:flex}.survey-frame-header-top{justify-content:space-between;align-items:center;height:24px;display:flex}.survey-frame-header-bottom{justify-content:space-between;align-items:center;height:22px;display:flex}.survey-frame-title{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.3px;box-sizing:border-box;-webkit-line-clamp:2;text-overflow:ellipsis;word-break:keep-all;cursor:pointer;-webkit-box-orient:vertical;height:3.15rem;min-height:3.15rem;max-height:3.15rem;margin:0 0 .5rem;font-size:1.12rem;font-weight:500;line-height:1.42;display:-webkit-box;overflow:hidden}.survey-frame-title:hover{color:var(--primary)}.survey-frame-desc{color:var(--body);box-sizing:border-box;-webkit-line-clamp:2;text-overflow:ellipsis;word-break:keep-all;-webkit-box-orient:vertical;height:2.45rem;min-height:2.45rem;max-height:2.45rem;margin:0 0 .85rem;font-size:.84rem;line-height:1.45;display:-webkit-box;overflow:hidden}.survey-frame-period-box{box-sizing:border-box;background:var(--canvas-soft);border-radius:var(--radius-sm);border:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;height:36px;min-height:36px;max-height:36px;margin-bottom:.85rem;padding:0 10px;font-size:.78rem;display:flex}.survey-frame-progress-section{box-sizing:border-box;flex-direction:column;justify-content:space-between;height:36px;min-height:36px;max-height:36px;margin-bottom:.85rem;display:flex}.survey-frame-progress{background:var(--canvas-soft);border-radius:var(--radius-pill);height:6px;min-height:6px;max-height:6px;overflow:hidden}.survey-frame-progress-bar{background:var(--primary);border-radius:var(--radius-pill);height:100%;transition:width .6s}.survey-frame-stats{background:var(--canvas-soft);border-radius:var(--radius-md);box-sizing:border-box;border:1px solid var(--hairline-soft);justify-content:space-between;align-items:center;height:40px;min-height:40px;max-height:40px;margin-bottom:1rem;padding:0 .85rem;display:flex}.survey-stat-col{color:var(--body);align-items:center;gap:7px;font-size:.83rem;display:flex}.survey-stat-col strong{color:var(--ink);font-family:var(--font-mono);font-weight:600}.survey-frame-footer{border-top:1px solid var(--hairline-soft);flex-direction:column;gap:6px;margin-top:auto;padding-top:.85rem;display:flex}.form-group{margin-bottom:1.25rem}.form-label{color:var(--ink);margin-bottom:.4rem;font-size:.88rem;font-weight:500;display:block}.form-input,.form-textarea,.form-select{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-md);width:100%;font-family:var(--font-sans);color:var(--ink);outline:none;padding:12px 16px;font-size:.92rem;transition:border-color .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.toast{background:var(--ink);color:var(--canvas);border-radius:var(--radius-md);box-shadow:var(--shadow-xl);z-index:1000;padding:.75rem 1.25rem;font-size:.88rem;font-weight:500;animation:.2s fadeIn;position:fixed;bottom:2rem;right:2rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.question-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);transition:border-color var(--transition-fast);margin-bottom:1.25rem;padding:1.5rem}.question-card.active-builder:hover{border-color:var(--primary)}.question-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.question-index-badge{font-family:var(--font-mono);letter-spacing:.5px;background:var(--canvas-soft);color:var(--ink);border:1px solid var(--hairline);border-radius:var(--radius-pill);justify-content:center;align-items:center;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.options-builder-list{flex-direction:column;gap:.5rem;margin-top:.75rem;display:flex}.option-builder-row{align-items:center;gap:.5rem;display:flex}.option-marker{color:var(--muted);flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.toggle-switch-wrapper{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.6rem;display:inline-flex}.toggle-switch{background:var(--hairline);border-radius:var(--radius-pill);width:36px;height:20px;transition:background-color var(--transition-fast);position:relative}.toggle-switch.active{background:var(--primary)}.toggle-slider{background:var(--surface-card);width:14px;height:14px;transition:transform var(--transition-fast);border-radius:50%;position:absolute;top:3px;left:3px}.toggle-switch.active .toggle-slider{transform:translate(16px)}.respondent-container{max-width:680px;margin:2.5rem auto;padding:0 1.25rem}.respondent-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);margin-bottom:1.5rem;padding:2.25rem}.respondent-progress-track{background:var(--hairline);border-radius:var(--radius-pill);width:100%;height:6px;margin-top:.5rem;overflow:hidden}.respondent-progress-fill{background:var(--primary);border-radius:var(--radius-pill);height:100%;transition:width .4s}.choice-option-card{border-radius:var(--radius-md);border:1px solid var(--hairline);background:var(--surface-card);cursor:pointer;transition:all var(--transition-fast);color:var(--ink);align-items:center;gap:.85rem;margin-bottom:.5rem;padding:.9rem 1.15rem;display:flex}.choice-option-card:hover{background:var(--canvas-soft);border-color:var(--hairline-strong)}.choice-option-card.selected{border-color:var(--primary);background:var(--primary-light);font-weight:500}.choice-radio{border:2px solid var(--hairline);width:18px;height:18px;transition:border-color var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.choice-option-card.selected .choice-radio{border-color:var(--primary)}.radio-dot{background:var(--primary);border-radius:50%;width:8px;height:8px}.choice-checkbox{border-radius:var(--radius-xs);border:2px solid var(--hairline);width:18px;height:18px;transition:all var(--transition-fast);color:var(--on-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.choice-option-card.selected .choice-checkbox{background:var(--primary);border-color:var(--primary)}.chart-card{background:var(--surface-card);border:1px solid var(--hairline);border-radius:var(--radius-lg);box-shadow:none;transition:border-color var(--transition-fast);margin-bottom:1.5rem;padding:1.75rem}.chart-card:hover{border-color:var(--hairline-strong)}.card-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.card-title{font-family:var(--font-sans);color:var(--ink);letter-spacing:-.3px;font-size:1.15rem;font-weight:500;line-height:1.4}.question-stat-table{border-collapse:collapse;width:100%;margin-top:1rem;font-size:.9rem}.question-stat-table th{background:var(--canvas-soft);color:var(--muted);font-family:var(--font-mono);letter-spacing:.88px;text-transform:uppercase;border-top:1px solid var(--hairline);border-bottom:1px solid var(--hairline);text-align:left;padding:12px 16px;font-size:11px;font-weight:600}.question-stat-table td{border-bottom:1px solid var(--hairline-soft);color:var(--ink);vertical-align:middle;padding:12px 16px}.question-stat-table tbody tr:last-child td{border-bottom:none}.question-stat-table tbody tr:hover td{background:var(--canvas-soft)}.chart-bar-item{margin-bottom:1rem}.chart-bar-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.92rem;display:flex}.chart-bar-label{color:var(--ink);align-items:center;font-weight:500;display:flex}.chart-bar-meta{font-family:var(--font-mono);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.chart-bar-track{background:var(--hairline);border-radius:var(--radius-pill);width:100%;height:8px;position:relative;overflow:hidden}.chart-bar-fill{background:var(--primary);border-radius:var(--radius-pill);height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.text-answer-feed{flex-direction:column;gap:.75rem;max-height:380px;margin-top:1rem;display:flex;overflow-y:auto}.text-answer-bubble{background:var(--canvas-soft);border:1px solid var(--hairline);border-radius:var(--radius-md);padding:1rem 1.25rem}.text-answer-meta{font-family:var(--font-mono);color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.78rem;display:flex}.text-answer-content{color:var(--ink);white-space:pre-wrap;font-size:.92rem;line-height:1.5}.data-table-container{border-radius:var(--radius-lg);border:1px solid var(--hairline);background:var(--surface-card);width:100%;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;font-size:.9rem;line-height:1.5}.data-table thead{background:var(--canvas-soft)}.data-table th{font-family:var(--font-mono);letter-spacing:.88px;text-transform:uppercase;color:var(--ink);border-bottom:1px solid var(--hairline);white-space:nowrap;padding:14px 18px;font-size:11px;font-weight:600}.data-table td{border-bottom:1px solid var(--hairline-soft);color:var(--ink);vertical-align:middle;padding:14px 18px}.data-table tbody tr:last-child td{border-bottom:none}.data-table tbody tr:hover td{background:var(--canvas-soft)}.modal-backdrop{z-index:1000;background:var(--overlay-scrim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:center;padding:1.5rem;animation:.2s modalFadeIn;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface-card);border-radius:var(--radius-lg);border:1px solid var(--hairline);width:100%;max-width:640px;max-height:88vh;animation:.2s cubic-bezier(.16,1,.3,1) modalPopIn;overflow-y:auto;box-shadow:0 12px 32px #26251e1f}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalPopIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
