*,*:before,*:after{box-sizing:border-box}html{margin:0;padding:0;width:100%;height:100%}body{margin:0;padding:0;width:100%;min-height:100%;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{display:flex;flex-direction:column;width:100%;min-height:100vh}:root{--primary: #2563eb;--primary-dark: #1d4ed8;--primary-light: #3b82f6;--secondary: #0891b2;--success: #16a34a;--error: #dc2626;--warning: #f59e0b;--sidebar-bg: #1e293b;--sidebar-active: #0891b2;--sidebar-completed: #15803d;--sidebar-error: #ea580c;--bg-page: #f8fafc;--bg-card: #ffffff;--bg-card-hover: #f1f5f9;--bg-input: #f1f5f9;--text-primary: #0f172a;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--border-dark: #cbd5e1;--shadow: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);--radius: 8px;--radius-lg: 12px}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-page);color:var(--text-primary);line-height:1.6}.app{min-height:100vh;width:100%;display:flex;flex-direction:column;background:var(--bg-page)}.header{padding:.75rem 1.5rem;background:var(--sidebar-bg);color:#fff;display:flex;align-items:center;gap:.75rem;flex-shrink:0}.logo{display:flex;align-items:center;gap:.5rem}.logo-icon{font-size:1.5rem}.logo h1{font-size:1.15rem;font-weight:700;color:#fff;background:none;-webkit-text-fill-color:white}.subtitle{display:none}.layout{display:flex;flex:1;min-height:0}.sidebar{width:170px;min-width:170px;background:var(--sidebar-bg);display:flex;flex-direction:column;gap:4px;padding:.75rem .5rem;flex-shrink:0;overflow-y:auto}.sidebar-btn{display:block;width:100%;padding:.7rem .75rem;border:none;border-radius:var(--radius);font-size:.85rem;font-weight:500;cursor:pointer;text-align:left;transition:all .2s ease;color:#94a3b8;background:transparent;line-height:1.3}.sidebar-btn:hover{background:#ffffff14;color:#e2e8f0}.sidebar-docs-btn{color:#e2e8f0;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:.4rem;padding-bottom:.75rem}.sidebar-docs-btn:hover{background:#ffffff1f;color:#fff}.sidebar-btn.active{background:var(--sidebar-active);color:#fff;font-weight:600;box-shadow:inset 0 2px 6px #0006,0 0 0 2px #ffffff4d;transform:scale(.97);border:2px solid rgba(255,255,255,.4)}.sidebar-btn.completed{background:var(--sidebar-completed);color:#fff;font-weight:600}.sidebar-btn.completed.active{background:var(--sidebar-completed);box-shadow:inset 0 2px 6px #0006,0 0 0 2px #ffffff4d;transform:scale(.97);border:2px solid rgba(255,255,255,.4);filter:brightness(.85)}.sidebar-btn.error{background:var(--sidebar-error);color:#fff;font-weight:600}.content{flex:1;overflow-y:auto;padding:1.5rem 2rem;min-width:0}.tab-panel{max-width:1200px;margin:0 auto}.sim-tab-layout{display:flex;flex-direction:column;gap:1.5rem}.sim-controls{display:flex;flex-direction:column;gap:1rem}.empty-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--text-secondary);gap:1rem;text-align:center}.empty-tab p{font-size:1rem}.card{background:var(--bg-card);border-radius:var(--radius-lg);padding:1.5rem;border:1px solid var(--border);box-shadow:var(--shadow);margin-bottom:1.5rem}.step-section{margin-bottom:1.5rem}.step-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.step-number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border-radius:50%;font-weight:700;font-size:.9rem;flex-shrink:0}.step-header h2{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.step-description{color:var(--text-secondary);font-size:.875rem;margin-bottom:1rem}.dropzone{border:2px dashed var(--border-dark);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:all .2s ease;background:var(--bg-input)}.dropzone:hover{border-color:var(--primary);background:#2563eb0a}.dropzone.has-file{border-color:var(--success);background:#16a34a0a}.dropzone-text{display:flex;flex-direction:column;align-items:center;gap:.5rem}.dropzone-text .file-types{font-size:.75rem;color:var(--text-muted)}.dropzone-small{padding:1rem}.dropzone-small .upload-icon{font-size:1.5rem}.dropzone-small .dropzone-text p{font-size:.85rem;margin:0}.upload-icon{font-size:2.5rem;opacity:.5}.dropzone-text p{color:var(--text-secondary);font-size:.9rem}.load-from-docs-btn{display:block;margin:.75rem auto 0;padding:.6rem 1.5rem;background:var(--surface-alt, #f0f4f8);border:1.5px solid var(--border-dark, #d1d5db);border-radius:var(--radius-md, 8px);color:var(--text-primary, #1e293b);font-size:.88rem;font-weight:500;cursor:pointer;transition:all .15s ease}.load-from-docs-btn:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb);background:#2563eb0f}.uploaded-file-badge{display:flex;align-items:center;gap:.5rem;background:#16a34a14;border:1px solid rgba(22,163,74,.25);border-radius:var(--radius);padding:.75rem 1rem}.uploaded-file-badge .file-icon{font-size:1.2rem}.uploaded-file-badge .file-name{font-weight:500;color:var(--text-primary)}.uploaded-file-badge .file-info{font-size:.85rem;color:var(--text-secondary)}.uploaded-file-badge .remove-file-btn{margin-left:auto;background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:0 .25rem;line-height:1;transition:color .2s}.uploaded-file-badge .remove-file-btn:hover{color:var(--error)}.files-list{margin-top:1rem;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}.files-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem 1rem;background:var(--bg-input);border-bottom:1px solid var(--border)}.files-header span{font-size:.85rem;color:var(--text-secondary)}.files-header-actions{display:flex;gap:.5rem;align-items:center}.save-all-btn{background:transparent;border:none;color:var(--primary, #2563eb);font-size:.8rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.save-all-btn:hover{background:#2563eb14}.clear-btn{background:transparent;border:none;color:var(--error);font-size:.8rem;cursor:pointer;padding:.25rem .5rem;border-radius:4px;transition:all .2s}.clear-btn:hover{background:#dc262614}.file-item{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-bottom:1px solid var(--border);transition:background .15s;background:#fff}.file-item:last-child{border-bottom:none}.file-item:hover{background:var(--bg-input)}.file-item.inp-file{background:#2563eb0d}.file-item-icon{font-size:1rem;opacity:.6}.file-item-name{flex:1;font-size:.85rem;color:var(--text-primary)}.file-badge{background:var(--primary);color:#fff;font-size:.7rem;padding:.1rem .5rem;border-radius:4px;font-weight:600}.file-item-size{font-size:.75rem;color:var(--text-muted)}.remove-btn{background:transparent;border:none;color:var(--text-muted);font-size:1.2rem;cursor:pointer;padding:.25rem;line-height:1;border-radius:4px;transition:all .2s}.remove-btn:hover{color:var(--error);background:#dc262614}.prompt-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.prompt-section h3{font-size:1rem;margin-bottom:.75rem}.prompt-input,.query-input{width:100%;padding:.75rem;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:.9rem;font-family:inherit;resize:vertical;transition:border-color .2s}.prompt-input:focus,.query-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.prompt-input::placeholder,.query-input::placeholder{color:var(--text-muted)}.query-section{display:flex;flex-direction:column;gap:.5rem}.submit-btn{width:100%;padding:.75rem 1.25rem;margin-top:1rem;background:var(--primary);color:#fff;border:none;border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .2s ease;box-shadow:var(--shadow)}.submit-btn:hover:not(:disabled){background:var(--primary-dark);box-shadow:var(--shadow-lg)}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.submit-btn.secondary{background:var(--secondary)}.submit-btn.secondary:hover:not(:disabled){background:#0e7490}.submit-btn.loading{opacity:.8}.button-group{display:flex;gap:.75rem;margin-top:1rem}.button-group .submit-btn{flex:1;margin-top:0}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status{margin-top:1rem;padding:.75rem 1rem;border-radius:var(--radius);font-size:.9rem;text-align:center}.status.success{background:#16a34a14;color:var(--success);border:1px solid rgba(22,163,74,.3)}.status.error{background:#dc262614;color:var(--error);border:1px solid rgba(220,38,38,.3)}.status.info{background:#2563eb14;color:var(--primary);border:1px solid rgba(37,99,235,.3)}.sim-results{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.sim-results h3{font-size:1rem;margin-bottom:1rem}.sim-error-display{margin-top:1rem;padding:1rem;background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius)}.sim-error-display h4{color:var(--error);font-size:.9rem;margin-bottom:.5rem}.error-content{font-family:Monaco,Menlo,monospace;font-size:.8rem;color:var(--error);white-space:pre-wrap;word-break:break-all}.sim-success-display{margin-top:1rem;padding:1rem;background:#16a34a0f;border:1px solid rgba(22,163,74,.2);border-radius:var(--radius)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1rem}.stat{background:var(--bg-input);padding:.75rem;border-radius:var(--radius);text-align:center;border:1px solid var(--border)}.stat-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.stat-value{font-size:1.15rem;font-weight:600;color:var(--primary)}.download-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.download-item{display:flex;flex-direction:column;align-items:flex-start;gap:.35rem}.download-item .save-to-docs-btn{font-size:.75rem;padding:.25rem .55rem}.download-btn{padding:.5rem .875rem;background:var(--bg-input);color:var(--primary);border:1px solid var(--border);border-radius:6px;font-size:.85rem;cursor:pointer;transition:all .15s}.download-btn:hover{background:#2563eb14;border-color:var(--primary)}.download-btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.download-btn.primary:hover{background:var(--primary-dark)}.download-btn.storm-btn{color:#0ea5e9;border-color:#0ea5e9}.download-btn.storm-btn:hover{background:#0ea5e914}.extracted-results{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.result-header h3{font-size:1.1rem;margin:0}.result-actions{display:flex;gap:.5rem}.data-summary{display:flex;flex-wrap:wrap;gap:1.5rem;padding:.75rem 1rem;background:var(--bg-input);border-radius:var(--radius);font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem}.data-summary strong{color:var(--text-primary)}.chart-container{height:350px;margin-top:1rem;padding:1rem;background:#fff;border-radius:var(--radius);border:1px solid var(--border)}.chart-wrapper{margin-top:1rem}.chart-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem .75rem;background:var(--bg-input);border-radius:var(--radius);border:1px solid var(--border)}.zoom-hint{font-size:.8rem;color:var(--text-muted);font-style:italic}.zoom-buttons{display:flex;gap:.5rem;align-items:center}.zoom-btn{padding:.4rem .65rem;background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;cursor:pointer;transition:all .15s;min-width:36px}.zoom-btn:hover{background:var(--bg-input);border-color:var(--primary);color:var(--primary)}.zoom-btn.reset{font-size:.8rem;padding:.4rem .75rem}.preview-section{display:flex;flex-direction:column;height:100%}.preview-section h2{margin:0;font-size:1.1rem}.preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;flex-shrink:0}.preview-header h2{font-size:1.1rem;margin:0}.tab-buttons{display:flex;gap:.5rem}.tab-btn{padding:.35rem .7rem;background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;gap:.35rem}.tab-btn:hover{border-color:var(--primary);color:var(--primary)}.tab-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.change-badge{color:var(--success);font-size:.7rem}.tab-btn.active .change-badge{color:#fff}.changes-summary{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#16a34a14;border:1px solid rgba(22,163,74,.25);border-radius:6px;font-size:.85rem;color:var(--success);margin-bottom:.75rem;flex-shrink:0}.changes-icon{font-size:1rem}.file-preview{flex:1;min-height:200px;overflow:auto;background:#1e293b;border-radius:var(--radius);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.8rem;line-height:1.5;color:#e2e8f0}.file-preview pre{padding:1rem;margin:0;white-space:pre-wrap;word-break:break-all}.diff-view{padding:.5rem 0}.diff-line{display:flex;padding:0 .5rem;min-height:1.5em;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;line-height:1.6;border-left:3px solid transparent}.diff-line.diff-changed,.diff-line.changed{background:#fbbf241a;border-left-color:var(--warning)}.line-number{width:50px;flex-shrink:0;text-align:right;padding-right:12px;color:var(--text-muted);-webkit-user-select:none;user-select:none;opacity:.6}.line-content{flex:1;white-space:pre-wrap;word-break:break-all}.diff-old{display:block;background:#dc26261a;color:#dc2626;padding:2px 6px;border-radius:3px;margin-bottom:2px;text-decoration:line-through}.diff-new{display:block;background:#16a34a1a;color:#16a34a;padding:2px 6px;border-radius:3px}.diff-chunk{margin-bottom:1rem}.diff-separator{text-align:center;color:var(--text-muted);padding:8px;font-size:.9rem;opacity:.5}.empty-preview{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary)}.empty-preview span{font-size:2.5rem;margin-bottom:.75rem;opacity:.4}.empty-preview p{font-size:.9rem}.no-preview{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary);font-style:italic}.selection-section{margin-bottom:1.5rem}.selection-section h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.selection-row{display:flex;gap:1rem;align-items:flex-end;flex-wrap:wrap}.select-group{display:flex;flex-direction:column;gap:.4rem;min-width:150px}.select-group.element-select{flex:1;min-width:200px}.select-group label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.select-group select,.select-group input{padding:.55rem .75rem;background:#fff;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:.9rem;cursor:pointer}.select-group select:focus,.select-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.select-group select option{background:#fff;color:var(--text-primary)}.searchable-select{position:relative}.select-input-wrapper{position:relative;display:flex;align-items:center}.select-input-wrapper input{width:100%;padding-right:30px;cursor:pointer}.dropdown-arrow{position:absolute;right:10px;pointer-events:none;color:var(--text-muted);font-size:.7rem;transition:transform .2s}.select-input-wrapper.open .dropdown-arrow{transform:rotate(180deg)}.dropdown-list{position:absolute;top:100%;left:0;right:0;max-height:300px;overflow-y:auto;background:#fff;border:1px solid var(--primary);border-radius:6px;z-index:100;box-shadow:var(--shadow-lg);margin-top:4px}.dropdown-empty{padding:1rem;text-align:center;color:var(--text-muted);font-style:italic}.dropdown-item{padding:.55rem .75rem;font-size:.85rem;cursor:pointer;transition:background .15s;font-family:monospace;border-bottom:1px solid var(--border)}.dropdown-item:last-child{border-bottom:none}.dropdown-item:hover{background:#2563eb0f}.dropdown-item.selected{background:#2563eb1a;color:var(--primary);font-weight:600}.dropdown-more{padding:.75rem;font-size:.75rem;color:var(--text-muted);text-align:center;font-style:italic;background:var(--bg-input)}.extract-btn{width:auto;padding:.55rem 1.25rem;margin-top:0;white-space:nowrap}.divider{display:flex;align-items:center;margin:1.5rem 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.divider span{padding:0 1rem;color:var(--text-secondary);font-size:.85rem;font-weight:500}.calibration-section{margin-top:1.5rem;padding:1.25rem;background:#8b5cf60d;border:1px solid rgba(139,92,246,.2);border-radius:var(--radius-lg)}.calibration-section h3{margin:0 0 1rem;color:#7c3aed;font-size:1rem}.calibration-method{margin-bottom:1.25rem}.calibration-method>label{display:block;font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.method-buttons{display:flex;gap:.5rem;flex-wrap:wrap}.method-btn{padding:.55rem .875rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);color:var(--text-secondary);font-size:.85rem;cursor:pointer;transition:all .15s}.method-btn:hover{border-color:var(--primary);color:var(--text-primary)}.method-btn.active{background:#7c3aed1a;border-color:#7c3aed;color:#7c3aed;font-weight:600}.param-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem}.param-group{background:var(--bg-input);padding:.75rem;border-radius:var(--radius);border:1px solid var(--border)}.param-group>label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.param-range{display:flex;align-items:center;gap:.5rem}.param-range input{flex:1;padding:.35rem .5rem;background:#fff;border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:.85rem;width:70px}.param-range input:focus{outline:none;border-color:var(--primary)}.param-range span{color:var(--text-muted);font-size:.8rem}.rtk-params{margin-top:1rem}.rtk-monthly-toggle{margin-bottom:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.85rem;cursor:pointer;color:var(--text-primary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.rtk-sets{display:flex;flex-direction:column;gap:.75rem}.rtk-set{background:var(--bg-input);padding:.75rem;border-radius:var(--radius);border-left:3px solid #7c3aed}.rtk-set h4{margin:0 0 .5rem;font-size:.85rem;color:#7c3aed}.param-grid-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.param-grid-compact .param-group{padding:.5rem}.param-grid-compact .param-group label{font-size:.7rem}.param-grid-compact .param-range input{width:55px;padding:.3rem;font-size:.8rem}.rtk-monthly{margin-top:.5rem}.monthly-hint{font-size:.8rem;color:var(--text-secondary);margin-bottom:.75rem}.month-section{background:var(--bg-input);border-radius:6px;margin-bottom:.5rem;border:1px solid var(--border)}.month-section summary{padding:.5rem .75rem;cursor:pointer;font-weight:600;font-size:.85rem;color:#7c3aed}.month-section[open] summary{border-bottom:1px solid var(--border)}.month-section .rtk-sets{padding:.5rem}.rtk-set-compact{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;flex-wrap:wrap}.response-label{font-weight:600;font-size:.75rem;color:var(--text-secondary);min-width:55px}.inline-params{display:flex;align-items:center;gap:.3rem;flex-wrap:wrap}.inline-params label{font-size:.7rem;color:var(--text-secondary);margin-left:.5rem}.inline-params input{width:50px;padding:.25rem .3rem;background:#fff;border:1px solid var(--border);border-radius:3px;color:var(--text-primary);font-size:.75rem}.inline-params span{color:var(--text-muted);font-size:.7rem}.analysis-section{margin-top:1.5rem;padding:1.25rem;background:#16a34a0d;border:1px solid rgba(22,163,74,.2);border-radius:var(--radius-lg)}.analysis-section h4{margin:0 0 1rem;color:#15803d;font-size:1.1rem}.analysis-error{padding:1rem;background:#dc26260f;border:1px solid rgba(220,38,38,.2);border-radius:var(--radius);color:var(--error)}.analysis-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.analysis-summary{display:flex;gap:1rem;flex-wrap:wrap}.analysis-stat{flex:1;min-width:120px;padding:1rem;background:var(--bg-input);border-radius:var(--radius);text-align:center;border:1px solid var(--border)}.table-scroll{overflow-x:auto;margin-top:.5rem}.event-table table td.datetime{font-size:.75rem;white-space:nowrap}.analysis-stat .stat-label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.5rem}.analysis-stat .stat-value{display:block;font-size:1.5rem;font-weight:700;color:var(--text-primary)}.analysis-stat .stat-value.ccc{color:var(--secondary)}.scatter-plots{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:1.5rem}.scatter-plot{background:var(--bg-input);border-radius:var(--radius);padding:1rem;border:1px solid var(--border)}.scatter-plot h5{margin:0 0 .75rem;color:var(--text-primary);font-size:.9rem;text-align:center}.scatter-chart{position:relative;width:100%;aspect-ratio:1 / 1}.ccc-badge{text-align:center;margin-top:.75rem;padding:.5rem;background:#16a34a14;border-radius:6px;font-weight:700;color:var(--secondary);font-size:1rem}.chart-export-btns{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}.chart-export-btn{padding:.3rem .7rem;background:var(--bg-input, #f8fafc);border:1px solid var(--border, #e2e8f0);border-radius:6px;font-size:.78rem;color:var(--text-secondary, #64748b);cursor:pointer;transition:all .15s}.chart-export-btn:hover{border-color:var(--primary, #2563eb);color:var(--primary, #2563eb);background:#2563eb0d}.event-table{background:var(--bg-input);border-radius:var(--radius);padding:1rem;overflow-x:auto;border:1px solid var(--border)}.event-table h5{margin:0 0 .75rem;color:var(--text-primary);font-size:.9rem}.event-table table{width:100%;border-collapse:collapse;font-size:.85rem}.event-table th,.event-table td{padding:.5rem .75rem;text-align:right;border-bottom:1px solid var(--border)}.event-table th{background:var(--bg-input);color:var(--text-secondary);font-weight:600;text-transform:uppercase;font-size:.7rem}.event-table td:first-child,.event-table th:first-child{text-align:center}.event-table tr:hover td{background:#2563eb0a}.auto-calibration-section{margin-top:1.5rem;padding:1.25rem;background:#7c3aed0a;border:1px solid rgba(124,58,237,.2);border-radius:var(--radius-lg)}.auto-calibration-section h4{margin:0 0 .75rem;color:#7c3aed;font-size:1rem}.auto-cal-desc{font-size:.85rem;color:var(--text-secondary);margin-bottom:1rem;line-height:1.5}.auto-cal-settings{display:flex;align-items:flex-end;gap:1rem;margin-bottom:1rem}.auto-cal-settings .param-group{flex:0 0 auto}.auto-cal-settings .param-group label{display:block;font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.auto-cal-settings .param-group input{width:80px;padding:.5rem;border-radius:6px;border:1px solid var(--border);background:#fff;color:var(--text-primary)}.auto-calibrate-btn{padding:.65rem 1.25rem;background:#7c3aed;color:#fff;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .15s}.auto-calibrate-btn:hover:not(:disabled){background:#6d28d9}.auto-calibrate-btn:disabled{opacity:.6;cursor:not-allowed}.auto-calibrate-btn.loading{background:#6d28d9}.cancel-calibration-btn{padding:.5rem 1.2rem;font-size:.85rem;background:#ef4444;color:#fff;border:none;border-radius:var(--radius);cursor:pointer;font-weight:600;transition:background .15s}.cancel-calibration-btn:hover{background:#dc2626}.calibration-progress{padding:.75rem 1rem;background:var(--bg-input);border-radius:var(--radius);font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;border:1px solid var(--border)}.calibration-progress.success{background:#16a34a0f;color:var(--success);border:1px solid rgba(22,163,74,.25)}.calibration-results{background:var(--bg-input);border-radius:var(--radius);padding:1rem;border:1px solid var(--border)}.calibration-results h5{margin:0 0 .75rem;color:var(--text-primary);font-size:.9rem}.best-params-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1rem}.param-result{display:flex;justify-content:space-between;padding:.5rem .75rem;background:#2563eb0d;border-radius:6px;font-size:.85rem;border:1px solid var(--border)}.param-result .param-label{color:var(--text-secondary)}.param-result .param-value{color:var(--primary);font-weight:600;font-family:monospace}.best-loss{padding:.75rem;background:#16a34a0f;border:1px solid rgba(22,163,74,.2);border-radius:var(--radius);text-align:center;margin-bottom:1rem;color:var(--text-secondary)}.best-loss strong{color:var(--success);font-size:1.1rem}.apply-calibration-btn{width:100%;padding:.65rem;background:var(--success);color:#fff;border:none;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:all .15s}.apply-calibration-btn:hover{background:#15803d}.fast-mode-toggle{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:var(--text-secondary);cursor:pointer;white-space:nowrap}.fast-mode-toggle input{width:auto;margin:0}.trial-history{margin-bottom:1rem;background:var(--bg-input);border-radius:var(--radius);padding:.75rem;border:1px solid var(--border)}.trial-history h5{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.9rem}.early-stop-badge{font-size:.7rem;padding:.15rem .4rem;background:#f59e0b1a;color:#b45309;border-radius:4px;font-weight:500}.trial-list{max-height:150px;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.trial-row{display:flex;align-items:center;gap:1rem;padding:.35rem .6rem;background:#fff;border-radius:4px;font-size:.8rem;font-family:monospace;border:1px solid var(--border)}.trial-row.best{background:#16a34a0f;border-color:#16a34a4d}.trial-num{color:var(--text-secondary);min-width:60px}.trial-rmse{color:var(--primary);flex:1}.best-badge{font-size:.65rem;padding:.15rem .4rem;background:var(--success);color:#fff;border-radius:3px;font-weight:600}.trials-summary{margin-top:.5rem;font-size:.75rem;color:var(--text-muted);text-align:center}.stage1-results{background:#16a34a0d;border:1px solid rgba(22,163,74,.2);border-radius:var(--radius);padding:.75rem;margin-bottom:1rem}.stage1-results h5{margin:0 0 .5rem;color:var(--success);font-size:.85rem}.stage1-stats{display:flex;gap:1.5rem;flex-wrap:wrap;align-items:center}.stage1-stats .stat{display:flex;gap:.5rem;font-size:.8rem;background:transparent;padding:0;border:none}.stage1-stats .stat-label{color:var(--text-secondary)}.stage1-stats .stat-value{color:var(--success);font-weight:600;font-family:monospace}.download-dwf-btn{background:var(--secondary);color:#fff;border:none;padding:.5rem .875rem;border-radius:6px;font-size:.8rem;cursor:pointer;transition:all .15s;margin-left:auto}.download-dwf-btn:hover{background:#0e7490}.method-selection{margin-bottom:1.25rem;padding:1rem;background:var(--bg-input);border-radius:var(--radius);border:1px solid var(--border)}.method-selection h5{margin:0 0 .75rem;color:var(--text-primary);font-size:.9rem}.method-options{display:flex;flex-direction:column;gap:.6rem}.method-option{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background:#fff;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all .15s}.method-option:hover{border-color:#7c3aed66;background:#7c3aed05}.method-option input[type=radio]{margin-top:.25rem;accent-color:#7c3aed}.method-label{display:flex;flex-direction:column;gap:.25rem}.method-label strong{color:var(--text-primary);font-size:.9rem}.method-label small{color:var(--text-secondary);font-size:.75rem;line-height:1.4}.download-evt-btn{background:var(--secondary);color:#fff;border:none;padding:.35rem .65rem;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .15s}.download-evt-btn:hover{background:#0e7490}.hierarchical-calibration-section{margin-top:1.25rem;padding:1rem;background:#f59e0b0a;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius)}.hierarchical-calibration-section h5{margin:0 0 .5rem;color:#b45309;font-size:1rem}.hierarchical-progress{margin-top:1rem;padding:.75rem;background:var(--bg-input);border-radius:6px;border:1px solid var(--border)}.hierarchical-progress .iteration-info{font-size:.9rem;color:#b45309;margin-bottom:.5rem}.hierarchical-progress .step-info{font-size:.85rem;color:var(--text-primary);padding:.5rem;background:#fff;border-radius:4px;border:1px solid var(--border);margin-bottom:.5rem}.hierarchical-progress .log-message{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin-top:.5rem}.zone-comparison-table{width:100%;border-collapse:collapse;font-size:.75rem;margin-top:.5rem}.zone-comparison-table th,.zone-comparison-table td{padding:.4rem;text-align:left;border-bottom:1px solid var(--border)}.zone-comparison-table th{background:var(--bg-input);color:var(--text-secondary)}.hierarchical-results{margin-top:1rem;padding:.75rem;background:#16a34a0a;border:1px solid rgba(22,163,74,.2);border-radius:6px}.hierarchical-results h5{margin:0 0 .5rem;color:#15803d}.hierarchical-results .params-grid{display:grid;gap:.5rem;font-size:.8rem}.hierarchical-results .params-grid div{padding:.3rem .5rem;background:var(--bg-input);border-radius:4px;border:1px solid var(--border)}.hierarchical-results .download-buttons{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.hierarchical-results .download-btn{padding:.55rem .875rem;border:none;border-radius:6px;font-size:.8rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .15s}.hierarchical-results .tsf-btn{background:var(--primary);color:#fff}.hierarchical-results .tsf-btn:hover{background:var(--primary-dark)}.hierarchical-results .inp-btn{background:#7c3aed;color:#fff}.hierarchical-results .inp-btn:hover{background:#6d28d9}.hierarchical-results .apply-btn{background:var(--success);color:#fff}.hierarchical-results .apply-btn:hover{background:#15803d}.progress-bar-container{margin:.5rem 0}.progress-label{font-size:.75rem;color:var(--text-secondary);margin-bottom:.25rem}.progress-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:4px;transition:width .3s ease}.progress-fill.epoch{background:linear-gradient(90deg,#7c3aed,#a78bfa)}.error-summary{display:flex;gap:1.5rem;margin-bottom:1rem}.error-item{display:flex;gap:.5rem;align-items:center}.error-label{font-size:.85rem;color:var(--text-secondary)}.error-value{font-size:1rem;font-weight:600;color:var(--text-primary)}.event-results{margin-top:1rem}.event-results h6{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary)}.error-high{color:#dc2626!important;font-weight:600}.error-value.good{color:#16a34a!important;font-weight:600}.error-value.moderate{color:#b45309!important;font-weight:600}.error-value.high{color:#dc2626!important;font-weight:600}.hierarchical-logs{margin-top:1rem;padding:.75rem;background:var(--bg-input);border-radius:6px;border:1px solid var(--border)}.hierarchical-logs h6{margin:0 0 .5rem;font-size:.8rem;color:var(--text-secondary)}.logs-container{max-height:400px;overflow-y:auto;font-family:Courier New,monospace;font-size:.7rem;line-height:1.4;background:#1e293b;color:#cbd5e1;padding:.75rem;border-radius:6px}.log-line{color:#94a3b8;white-space:pre-wrap;word-break:break-all;padding:1px 4px}.log-line:nth-child(odd){background:#ffffff05}.seven-param-calibration-section{margin-top:1.25rem;padding:1rem;background:#16a34a0a;border:1px solid rgba(22,163,74,.2);border-radius:var(--radius)}.seven-param-calibration-section h5{margin:0 0 .5rem;color:#15803d;font-size:1rem}.seven-param-settings{margin:1rem 0}.seven-param-settings .param-group{margin-bottom:1rem}.seven-param-settings .param-group label{display:block;margin-bottom:.25rem;font-size:.85rem;color:var(--text-secondary)}.seven-param-settings .param-group input{width:120px;padding:.4rem .6rem;border-radius:4px;border:1px solid var(--border);background:#fff;color:var(--text-primary)}.seven-param-settings .param-group small{display:block;margin-top:.25rem;font-size:.75rem;color:var(--text-muted)}.storm-only-toggle,.all-events-toggle{background:#2563eb0a;padding:.75rem;border-radius:6px;border:1px solid rgba(37,99,235,.2)}.all-events-toggle{background:#16a34a0a;border-color:#16a34a33}.constraints-section .constraints-grid{display:flex;flex-direction:column;gap:.35rem;margin:.5rem 0}.constraints-section .constraint-item{display:flex!important;align-items:center;gap:.35rem;cursor:pointer;font-size:.75rem;color:var(--text-secondary);flex-shrink:0}.constraints-section .constraint-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.storm-only-toggle .checkbox-label{display:flex!important;align-items:center;gap:.5rem;cursor:pointer;font-weight:500;color:var(--text-primary);width:100%;-webkit-user-select:none;user-select:none}.storm-only-toggle .checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--primary)}.storm-only-toggle .checkbox-label span{font-size:.9rem}.storm-only-toggle small{margin-left:26px;color:var(--text-secondary)}.weights-section{margin-top:1rem;padding:.75rem;background:var(--bg-input);border-radius:6px;border:1px solid var(--border)}.weights-section h6{margin:0 0 .75rem;font-size:.85rem;color:#15803d}.weights-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.weight-item{display:flex;flex-direction:column;gap:.25rem}.weight-item label{font-size:.7rem;color:var(--text-secondary);text-transform:capitalize}.weight-item input{width:80px;padding:.3rem .5rem;font-size:.8rem;border-radius:4px;border:1px solid var(--border);background:#fff;color:var(--text-primary);-moz-appearance:textfield}.weight-item input::-webkit-outer-spin-button,.weight-item input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.weights-section>small{display:block;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.seven-param-btn{background:var(--success)!important}.seven-param-btn:hover:not(:disabled){background:#15803d!important}.seven-param-btn:disabled{background:#9ca3af!important;opacity:.7;cursor:not-allowed}.seven-param-progress{margin-top:1rem;padding:.75rem;background:var(--bg-input);border-radius:6px;border:1px solid var(--border)}.gt-params-display,.best-params-display{margin-bottom:1rem}.gt-params-display h6,.best-params-display h6{margin:0 0 .5rem;font-size:.8rem;color:var(--text-secondary)}.params-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}.param-item{display:flex;justify-content:space-between;padding:.3rem .5rem;background:var(--bg-input);border-radius:4px;font-size:.75rem;border:1px solid var(--border)}.param-name{color:var(--text-secondary);text-transform:capitalize}.param-value{color:#15803d;font-family:Courier New,monospace}.seven-param-logs{margin-top:1rem;padding:.75rem;background:var(--bg-input);border-radius:6px;border:1px solid var(--border)}.seven-param-logs .logs-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.seven-param-logs h6{margin:0;font-size:.8rem;color:var(--text-secondary)}.clear-logs-btn{padding:.2rem .5rem;font-size:.7rem;background:#dc26260f;border:1px solid rgba(220,38,38,.3);color:var(--error);border-radius:4px;cursor:pointer;transition:all .15s}.clear-logs-btn:hover{background:#dc26261f}.seven-param-logs .logs-container{max-height:500px;overflow-y:auto;font-family:Courier New,monospace;font-size:.72rem;line-height:1.5;background:#1e293b;color:#cbd5e1;padding:.75rem;border-radius:6px}.seven-param-logs .log-line{padding:.15rem .3rem;border-radius:2px}.seven-param-logs .log-line.trial-header{background:#3b82f633;color:#60a5fa;font-weight:700;margin-top:.5rem;border-left:3px solid #60a5fa}.seven-param-logs .log-line.highlight-best{background:#fbbf2433;color:#fbbf24;font-weight:700;border-left:3px solid #fbbf24}.seven-param-logs .log-line.error-line{background:#ef444426;color:#f87171}.seven-param-logs .log-line.success-line{color:#34d399}.seven-param-results{margin-top:1rem;padding:1rem;background:#16a34a0a;border:1px solid rgba(22,163,74,.2);border-radius:var(--radius)}.seven-param-results h5{margin:0 0 1rem;color:#15803d}.comparison-table{margin:1rem 0}.comparison-table h6{margin:0 0 .5rem;font-size:.85rem;color:var(--text-secondary)}.params-comparison{width:100%;border-collapse:collapse;font-size:.8rem}.params-comparison th,.params-comparison td{padding:.5rem;text-align:left;border-bottom:1px solid var(--border)}.params-comparison th{background:var(--bg-input);color:var(--text-secondary);font-weight:500}.params-comparison td{font-family:Courier New,monospace}.params-comparison td.error-high{color:#dc2626;font-weight:600}.rtk-results{margin:1rem 0}.rtk-results h6{margin:0 0 .75rem;font-size:.85rem;color:var(--text-secondary)}.rtk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.rtk-response{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem;background:var(--bg-input);border-radius:4px;font-size:.75rem;border:1px solid var(--border)}.rtk-response strong{width:100%;color:#15803d;margin-bottom:.25rem}.rtk-response span{font-family:Courier New,monospace;color:var(--text-primary)}.current-params-display{margin-bottom:1rem;padding:.75rem;background:#2563eb0a;border:1px solid rgba(37,99,235,.2);border-radius:6px}.current-params-display h6{margin:0 0 .5rem;font-size:.8rem;color:var(--primary);display:flex;align-items:center;gap:.5rem}.trial-badge{font-size:.7rem;padding:.15rem .4rem;background:#2563eb1a;border-radius:4px;color:var(--primary)}.new-best-badge{color:#b45309;font-weight:700;animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.param-item.good{border-left:3px solid var(--success)}.param-item.moderate{border-left:3px solid #b45309}.param-item.poor{border-left:3px solid var(--error)}.param-error{font-size:.7rem;margin-left:.25rem;opacity:.7}.param-item.good .param-error{color:var(--success)}.param-item.moderate .param-error{color:#b45309}.param-item.poor .param-error{color:var(--error)}.initial-rtk-display{margin:.75rem 0;padding:.75rem;background:#7c3aed0a;border:1px solid rgba(124,58,237,.2);border-radius:6px}.initial-rtk-display h6{margin:0 0 .5rem;font-size:.8rem;color:#7c3aed}.rtk-initial-grid{display:flex;flex-direction:column;gap:.4rem}.rtk-row{display:flex;gap:1rem;font-size:.75rem;font-family:Courier New,monospace;color:var(--text-primary)}.rtk-row .rtk-label{min-width:60px;font-weight:700;color:#7c3aed}.current-rtk-display{margin:.75rem 0;padding:.75rem;background:#2563eb0a;border:1px solid rgba(37,99,235,.2);border-radius:6px}.current-rtk-display.failed{background:#dc26260a;border-color:#dc262633}.current-rtk-display h6{margin:0 0 .5rem;font-size:.8rem;color:var(--primary);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.current-rtk-display.failed h6{color:var(--error)}.failed-badge{font-size:.7rem;padding:.15rem .4rem;background:#dc26261a;border-radius:4px;color:#dc2626}.rtk-current-grid{display:flex;flex-direction:column;gap:.4rem}.rtk-current-grid .rtk-row{display:flex;gap:1rem;font-size:.75rem;font-family:Courier New,monospace;color:var(--text-primary)}.rtk-current-grid .rtk-row .rtk-label{min-width:60px;font-weight:700;color:var(--primary)}.current-rtk-display.failed .rtk-current-grid .rtk-row .rtk-label{color:var(--error)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}@media(max-width:1024px){.content{padding:1rem}}@media(max-width:768px){.sidebar{width:120px;min-width:120px}.sidebar-btn{font-size:.75rem;padding:.5rem}.content{padding:.75rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.data-summary{flex-direction:column;gap:.5rem}.result-header{flex-direction:column;align-items:flex-start;gap:.75rem}.best-params-grid{grid-template-columns:1fr}.auto-cal-settings{flex-direction:column;align-items:stretch}}@media(max-width:600px){.layout{flex-direction:column}.sidebar{width:100%;min-width:100%;flex-direction:row;overflow-x:auto;padding:.5rem;gap:4px}.sidebar-btn{white-space:nowrap;flex-shrink:0}}.toast-container{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;max-width:420px}.toast{padding:.75rem 1rem;border-radius:8px;color:#fff;font-size:.875rem;line-height:1.4;box-shadow:0 4px 12px #00000026;animation:toast-in .3s ease;word-break:break-word}.toast-error{background:var(--error)}.toast-success{background:var(--success)}.toast-info{background:var(--primary)}.toast-warning{background:var(--warning);color:#1e293b}@keyframes toast-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.docs-overlay{position:fixed;inset:0;z-index:9000;background:#0000004d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.docs-panel{position:absolute;top:0;left:0;width:380px;max-width:90vw;height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:4px 0 24px #0000001a;animation:docs-slide-in .2s ease}@keyframes docs-slide-in{0%{transform:translate(-100%)}to{transform:translate(0)}}.docs-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid #eee;flex-shrink:0}.docs-header-left{display:flex;align-items:center;gap:.5rem}.docs-header h3{font-size:1rem;font-weight:600;margin:0}.docs-back-btn{background:none;border:1px solid #ddd;border-radius:6px;padding:.2rem .5rem;font-size:.9rem;cursor:pointer;color:#555}.docs-back-btn:hover{background:#f5f5f5}.docs-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:#999;padding:.25rem}.docs-close:hover{color:#333}.docs-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;padding:.4rem 1rem;border-bottom:1px solid #f0f0f0;font-size:.78rem;flex-shrink:0}.docs-breadcrumbs button{background:none;border:none;color:#6366f1;cursor:pointer;padding:.1rem .2rem;border-radius:3px;font-size:.78rem}.docs-breadcrumbs button:hover{background:#eef2ff}.docs-breadcrumb-active{color:#1e293b!important;font-weight:600;cursor:default!important}.docs-breadcrumb-sep{color:#cbd5e1;margin:0 .1rem}.docs-toolbar{display:flex;gap:.5rem;padding:.65rem 1rem;border-bottom:1px solid #f0f0f0;flex-shrink:0}.docs-btn{padding:.35rem .7rem;background:#f5f5f5;border:1px solid #e5e5e5;border-radius:6px;font-size:.8rem;color:#555;cursor:pointer;transition:all .15s}.docs-btn:hover{background:#eee;border-color:#ddd}.docs-btn:disabled{opacity:.5;cursor:not-allowed}.docs-new-folder{display:flex;gap:.4rem;padding:.6rem 1rem;border-bottom:1px solid #f0f0f0;flex-shrink:0}.docs-new-folder input{flex:1;padding:.35rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;font-family:inherit}.docs-new-folder input:focus{outline:none;border-color:#999}.docs-new-folder button{padding:.35rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.8rem;background:#fff;cursor:pointer;color:#555}.docs-new-folder button:first-of-type{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.docs-new-folder button:disabled{opacity:.4;cursor:not-allowed}.docs-content{flex:1;overflow-y:auto;padding:.25rem 0}.docs-item{display:flex;align-items:center;padding:.55rem 1rem;border-bottom:1px solid #f5f5f5;transition:background .1s}.docs-item:hover{background:#fafafa}.docs-item-main{display:flex;align-items:center;gap:.6rem;flex:1;min-width:0;cursor:pointer}.docs-folder-item .docs-item-main{cursor:pointer}.docs-file-item .docs-item-main{cursor:default}.docs-item-icon{font-size:1.1rem;flex-shrink:0}.docs-item-name{font-size:.875rem;font-weight:500;color:#1a1a1a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.docs-file-info{display:flex;flex-direction:column;min-width:0}.docs-item-meta{font-size:.725rem;color:#aaa}.docs-item-actions{display:flex;gap:.25rem;flex-shrink:0;opacity:0;transition:opacity .15s}.docs-item:hover .docs-item-actions{opacity:1}.docs-item-actions button{background:none;border:1px solid transparent;border-radius:4px;font-size:.8rem;cursor:pointer;padding:.2rem .4rem;color:#888;transition:all .1s}.docs-item-actions button:hover{background:#f0f0f0;color:#333}.docs-download-btn{opacity:1!important;color:#2563eb!important;font-size:.9rem!important}.docs-download-btn:hover{background:#eff6ff!important;color:#1d4ed8!important}.docs-delete-confirm{color:#dc2626!important;border-color:#fecaca!important;background:#fef2f2!important;font-size:.7rem!important;font-weight:500}.docs-delete-cancel{color:#64748b!important;font-size:.85rem!important}.docs-deleting{color:#dc2626;font-size:.75rem;font-weight:500;animation:docs-pulse 1s ease-in-out infinite}@keyframes docs-pulse{0%,to{opacity:1}50%{opacity:.4}}.docs-rename-row{display:flex;align-items:center;gap:.35rem;flex:1}.docs-rename-row input{flex:1;padding:.3rem .5rem;border:1px solid #ddd;border-radius:4px;font-size:.85rem;font-family:inherit}.docs-rename-row button{background:none;border:1px solid #ddd;border-radius:4px;padding:.2rem .4rem;font-size:.8rem;cursor:pointer}.docs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:#aaa}.docs-empty span{font-size:2rem;margin-bottom:.5rem;opacity:.5}.docs-empty p{margin:0;font-size:.9rem}.docs-empty-hint{font-size:.8rem!important;color:#ccc;margin-top:.35rem!important}.docs-save-dialog{padding:1rem;border-bottom:1px solid #eee;background:#f9fafb;flex-shrink:0}.docs-save-header{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.docs-save-header span{font-size:1.3rem}.docs-save-header strong{font-size:.9rem;display:block}.docs-save-size{font-size:.75rem;color:#999}.docs-save-folder-pick{margin-bottom:.75rem}.docs-save-folder-pick label{display:block;font-size:.75rem;color:#666;margin-bottom:.3rem}.docs-save-folder-row{display:flex;gap:.4rem}.docs-save-folder-row select{flex:1;padding:.45rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;font-family:inherit;background:#fff;color:#1a1a1a}.docs-new-folder-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:1.1rem;font-weight:600;cursor:pointer;flex-shrink:0;transition:background .15s}.docs-new-folder-btn:hover{background:#333}.docs-save-new-folder{display:flex;gap:.4rem;margin-bottom:.75rem}.docs-save-new-folder input{flex:1;padding:.4rem .6rem;border:1px solid #ddd;border-radius:6px;font-size:.85rem;font-family:inherit}.docs-save-new-folder input:focus{outline:none;border-color:#999}.docs-save-new-folder button{padding:.4rem .75rem;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:500;cursor:pointer}.docs-save-new-folder button:disabled{opacity:.4;cursor:not-allowed}.docs-save-actions{display:flex;gap:.5rem}.docs-save-btn{flex:1;padding:.5rem;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer}.docs-save-btn:hover{background:#333}.docs-save-btn:disabled{opacity:.5;cursor:not-allowed}.docs-cancel-btn{padding:.5rem 1rem;background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.85rem;cursor:pointer;color:#555}.docs-cancel-btn:hover{background:#f5f5f5}.docs-error{margin:0 0 .6rem;padding:.5rem .65rem;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:.8rem;line-height:1.4;word-break:break-word}.save-to-docs-btn{padding:.35rem .65rem;background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.8rem;cursor:pointer;color:#555;display:inline-flex;align-items:center;gap:.3rem;transition:all .15s}.save-to-docs-btn:hover{border-color:#1a1a1a;color:#1a1a1a;background:#f9f9f9}.docs-load-bar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#eef2ff;border-bottom:1px solid #c7d2fe;font-size:.85rem;color:#4338ca}.docs-load-actions{display:flex;gap:.5rem;align-items:center}.docs-select-all-btn{padding:.4rem .75rem;background:transparent;color:#4f46e5;border:1px solid #c7d2fe;border-radius:6px;font-size:.82rem;cursor:pointer;transition:background .15s}.docs-select-all-btn:hover{background:#eef2ff}.docs-load-btn{padding:.4rem 1rem;background:#4f46e5;color:#fff;border:none;border-radius:6px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s}.docs-load-btn:hover{background:#4338ca}.docs-load-btn:disabled{opacity:.5;cursor:default}.docs-file-checkbox{width:16px;height:16px;accent-color:#4f46e5;cursor:pointer;flex-shrink:0;margin-right:.5rem}.docs-file-selected{background:#eef2ff}@media(max-width:480px){.docs-panel{width:100%;max-width:100vw}}.cb-toggle{position:fixed;bottom:24px;right:24px;width:60px;height:60px;border-radius:50%;background:linear-gradient(135deg,#1a1a1a,#374151);border:none;cursor:pointer;box-shadow:0 8px 28px #00000040,0 4px 10px #0000001f;z-index:9998;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden;color:#fff}.cb-toggle:hover{transform:scale(1.08);box-shadow:0 12px 36px #0000004d,0 6px 14px #00000026}.cb-toggle:active{transform:scale(.95)}.cb-toggle__chat,.cb-toggle__close{position:absolute;width:26px;height:26px;transition:all .3s ease}.cb-toggle__chat{opacity:1;transform:scale(1)}.cb-toggle__close{opacity:0;transform:scale(.5) rotate(-90deg)}.cb-toggle--open .cb-toggle__chat{opacity:0;transform:scale(.5) rotate(90deg)}.cb-toggle--open .cb-toggle__close{opacity:1;transform:scale(1) rotate(0)}.cb-toggle:before{content:"";position:absolute;width:100%;height:100%;border-radius:50%;background:inherit;animation:cbPulse 2.4s ease-in-out infinite;z-index:-1}@keyframes cbPulse{0%,to{transform:scale(1);opacity:.4}50%{transform:scale(1.2);opacity:0}}.cb-toggle--open:before{animation:none;opacity:0}.cb-window{position:fixed;bottom:100px;right:24px;width:400px;max-width:calc(100vw - 48px);height:560px;max-height:calc(100vh - 140px);background:#fff;border-radius:18px;box-shadow:0 20px 64px #0000001f,0 8px 24px #00000014;z-index:9999;display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;transform:translateY(16px) scale(.96);transition:all .3s cubic-bezier(.34,1.56,.64,1);border:1px solid rgba(0,0,0,.06)}.cb-window--open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.cb-header{padding:16px 20px;background:linear-gradient(135deg,#1a1a1a,#374151);display:flex;align-items:center;gap:12px;flex-shrink:0}.cb-header__avatar{width:40px;height:40px;border-radius:10px;background:#ffffff26;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;letter-spacing:.02em;flex-shrink:0}.cb-header__text h4{color:#fff;font-size:.95rem;font-weight:600;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cb-messages{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px;background:#f8f9fa}.cb-messages::-webkit-scrollbar{width:5px}.cb-messages::-webkit-scrollbar-track{background:transparent}.cb-messages::-webkit-scrollbar-thumb{background:#0000001f;border-radius:10px}.cb-messages::-webkit-scrollbar-thumb:hover{background:#0003}.cb-msg{display:flex;gap:10px;max-width:88%;animation:cbSlideIn .3s ease}@keyframes cbSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.cb-msg--user{align-self:flex-end;flex-direction:row-reverse}.cb-msg--bot{align-self:flex-start}.cb-msg__avatar{width:30px;height:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;background:linear-gradient(135deg,#1a1a1a,#374151);color:#fff}.cb-msg__bubble{padding:11px 15px;border-radius:14px;font-size:.9rem;line-height:1.55;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.cb-msg--bot .cb-msg__bubble{background:#fff;color:#1f2937;border-bottom-left-radius:4px;border:1px solid rgba(0,0,0,.07);box-shadow:0 1px 2px #0000000a}.cb-msg--user .cb-msg__bubble{background:linear-gradient(135deg,#1a1a1a,#374151);color:#fff;border-bottom-right-radius:4px}.cb-msg__bubble strong{font-weight:600}.cb-msg__bubble code{background:#0000000f;padding:1px 5px;border-radius:4px;font-size:.85em}.cb-msg--user .cb-msg__bubble code{background:#ffffff26}.cb-msg__bubble a,.cb-msg__bubble .cb-link{color:#2563eb;text-decoration:none;font-weight:500;border-bottom:1px solid transparent;transition:border-color .2s}.cb-msg__bubble a:hover,.cb-msg__bubble .cb-link:hover{border-bottom-color:#2563eb}.cb-msg--user .cb-msg__bubble a{color:#93c5fd}.cb-msg__bubble--typing{padding:12px 16px;display:flex;gap:5px;align-items:center}.cb-msg__bubble--typing span{width:7px;height:7px;background:#6b7280;border-radius:50%;animation:cbBounce 1.4s ease-in-out infinite}.cb-msg__bubble--typing span:nth-child(1){animation-delay:0s}.cb-msg__bubble--typing span:nth-child(2){animation-delay:.2s}.cb-msg__bubble--typing span:nth-child(3){animation-delay:.4s}@keyframes cbBounce{0%,60%,to{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}.cb-input-area{padding:12px 16px 16px;background:#fff;border-top:1px solid rgba(0,0,0,.06);flex-shrink:0}.cb-input-row{display:flex;gap:10px;align-items:center}.cb-input{flex:1;min-width:0;background:#f8f9fa;border-radius:20px;padding:11px 18px;border:2px solid #e5e7eb;transition:all .2s;color:#1f2937;font-size:.9375rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.4;outline:none}.cb-input::placeholder{color:#9ca3af}.cb-input:focus{border-color:#374151;box-shadow:0 0 0 3px #3741511a;background:#fff}.cb-send{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#1a1a1a,#374151);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0;color:#fff}.cb-send:hover:not(:disabled){transform:scale(1.06);box-shadow:0 4px 12px #0003}.cb-send:active:not(:disabled){transform:scale(.95)}.cb-send:disabled{opacity:.4;cursor:not-allowed}.cb-send svg{width:17px;height:17px}.cb-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.cb-suggestions__btn{padding:7px 13px;background:#fff;border:1px solid #e5e7eb;border-radius:18px;color:#4b5563;font-size:.8rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;cursor:pointer;transition:all .2s;box-shadow:0 1px 2px #00000008}.cb-suggestions__btn:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff;box-shadow:0 4px 12px #00000026}@media(max-width:480px){.cb-window{bottom:0;right:0;left:0;width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0}.cb-toggle{bottom:16px;right:16px;width:52px;height:52px}.cb-toggle__chat,.cb-toggle__close{width:22px;height:22px}.cb-header{padding:14px 16px}.cb-messages{padding:16px}.cb-input-area{padding:12px 16px 24px}}.site{display:flex;flex-direction:column;min-height:100vh;background:#fafafa;color:#1a1a1a;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.site-nav{position:sticky;top:0;z-index:1000;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid #e5e5e5}.nav-inner{max-width:1100px;margin:0 auto;padding:0 1.5rem;height:56px;display:flex;align-items:center;gap:1rem}.nav-logo{background:none;border:none;font-size:1.2rem;font-weight:700;color:#1a1a1a;cursor:pointer;padding:0;letter-spacing:-.02em}.nav-links{display:flex;gap:.25rem;margin-left:2rem}.nav-link{background:none;border:none;padding:.4rem .75rem;font-size:.875rem;color:#666;cursor:pointer;border-radius:6px;transition:color .15s,background .15s}.nav-link:hover{color:#1a1a1a;background:#f0f0f0}.nav-link.active{color:#1a1a1a;font-weight:500}.nav-docs-btn{display:flex;align-items:center;gap:.35rem;padding:.35rem .85rem;background:#f5f5f5;border:1px solid #e5e5e5;border-radius:6px;font-size:.825rem;font-weight:500;color:#444;cursor:pointer;transition:all .15s;margin-right:auto;margin-left:0}.nav-docs-btn:hover{background:#eee;border-color:#ccc}.nav-docs-btn span{font-size:.95rem}.nav-right{margin-left:auto;display:flex;align-items:center;gap:.75rem}.nav-user{font-size:.825rem;color:#555;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-signin{background:#1a1a1a;color:#fff;border:none;padding:.4rem 1rem;font-size:.85rem;font-weight:500;border-radius:6px;cursor:pointer;transition:background .15s}.nav-signin:hover{background:#333}.nav-back{background:none;border:1px solid #ddd;padding:.35rem .85rem;font-size:.825rem;color:#555;border-radius:6px;cursor:pointer;transition:all .15s}.nav-back:hover{border-color:#bbb;color:#1a1a1a}.nav-hamburger{display:none;background:none;border:none;font-size:1.25rem;cursor:pointer;color:#1a1a1a;margin-left:auto;padding:.25rem}.site-main{flex:1}.site-footer{border-top:1px solid #e5e5e5;padding:1.5rem}.footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#999}.footer-brand{font-weight:600;color:#666}.page-hero{max-width:720px;margin:0 auto;padding:6rem 1.5rem 4rem;text-align:center}.page-hero h1{font-size:3rem;font-weight:700;line-height:1.15;letter-spacing:-.03em;color:#0a0a0a;margin:0 0 1.25rem}.hero-sub{font-size:1.15rem;color:#666;line-height:1.6;max-width:500px;margin:0 auto 2.5rem}.hero-actions{display:flex;gap:.75rem;justify-content:center;margin-bottom:4rem}.hero-stats{display:flex;justify-content:center;gap:3rem;padding-top:2rem;border-top:1px solid #eee}.hero-stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-num{font-size:1.5rem;font-weight:700;color:#1a1a1a}.stat-desc{font-size:.8rem;color:#888}.page-content{max-width:960px;margin:0 auto;padding:4rem 1.5rem}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.25rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.page-header p{color:#666;font-size:1.05rem}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.feature-card{padding:1.5rem;border:1px solid #eee;border-radius:10px;background:#fff;transition:box-shadow .2s}.feature-card:hover{box-shadow:0 4px 16px #0000000f}.feature-icon{font-size:1.5rem;display:block;margin-bottom:.75rem}.feature-card h3{font-size:.95rem;font-weight:600;margin:0 0 .4rem}.feature-card p{font-size:.85rem;color:#666;line-height:1.5;margin:0}.page-cta{text-align:center;margin-top:2.5rem}.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;align-items:start}.pricing-card{padding:2rem 1.5rem;border:1px solid #eee;border-radius:10px;background:#fff;text-align:center}.pricing-card.highlight{border-color:#1a1a1a;box-shadow:0 4px 20px #00000014;position:relative}.pricing-card h3{font-size:1rem;font-weight:600;margin:0 0 1rem;color:#666}.pricing-card.highlight h3{color:#1a1a1a}.pricing-price{margin-bottom:1.5rem}.price-amount{font-size:2.5rem;font-weight:700;letter-spacing:-.03em}.price-period{font-size:.9rem;color:#888}.pricing-features{list-style:none;padding:0;margin:0 0 1.5rem;text-align:left}.pricing-features li{padding:.4rem 0;font-size:.875rem;color:#555;border-bottom:1px solid #f5f5f5}.pricing-features li:last-child{border-bottom:none}.pricing-features li:before{content:"✓ ";color:#16a34a;font-weight:600}.pricing-btn{width:100%;padding:.6rem;border:1px solid #ddd;border-radius:6px;background:#fff;font-size:.875rem;font-weight:500;cursor:pointer;color:#555;transition:all .15s}.pricing-btn:hover{border-color:#bbb;color:#1a1a1a}.pricing-btn.primary{background:#1a1a1a;color:#fff;border-color:#1a1a1a}.pricing-btn.primary:hover{background:#333}.about-body{max-width:640px;margin:0 auto}.about-body p{font-size:1rem;color:#444;line-height:1.75;margin:0 0 1.25rem}.contact-form{max-width:560px;margin:0 auto;display:flex;flex-direction:column;gap:1rem}.form-row{display:flex;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.35rem;flex:1}.form-group label{font-size:.8rem;font-weight:500;color:#555}.form-group input,.form-group textarea{padding:.6rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-family:inherit;color:#1a1a1a;background:#fff;transition:border-color .15s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#999}.form-group input::placeholder,.form-group textarea::placeholder{color:#bbb}.auth-page{display:flex;justify-content:center;align-items:flex-start;padding:4rem 1.5rem}.auth-card{width:100%;max-width:420px;padding:2rem 2rem 1.75rem;border:1px solid #eee;border-radius:16px;background:#fff;box-shadow:0 2px 24px #0000000a}.auth-tabs{display:flex;background:#f5f5f5;border-radius:10px;padding:4px;margin-bottom:1.75rem}.auth-tab{flex:1;padding:.55rem 0;background:none;border:none;border-radius:8px;font-size:.875rem;font-weight:500;color:#888;cursor:pointer;transition:all .15s}.auth-tab.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 4px #00000014}.auth-heading{font-size:1.6rem;font-weight:700;text-align:center;margin:0 0 .35rem;letter-spacing:-.02em}.auth-subheading{text-align:center;font-size:.875rem;color:#888;margin:0 0 1.5rem}.auth-google-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:.6rem;padding:.7rem;border:1px solid #ddd;border-radius:10px;background:#fff;font-size:.9rem;font-weight:500;color:#1a1a1a;cursor:pointer;transition:all .15s}.auth-google-btn:hover{background:#fafafa;border-color:#bbb}.auth-google-btn:disabled{opacity:.6;cursor:not-allowed}.auth-divider{display:flex;align-items:center;margin:1.25rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:#e5e5e5}.auth-divider span{padding:0 .75rem;font-size:.8rem;color:#aaa;white-space:nowrap}.auth-method-tabs{display:flex;background:#f5f5f5;border-radius:10px;padding:4px;margin-bottom:1.25rem}.method-tab{flex:1;padding:.5rem 0;background:none;border:none;border-radius:8px;font-size:.85rem;font-weight:500;color:#888;cursor:pointer;transition:all .15s}.method-tab.active{background:#fff;color:#1a1a1a;box-shadow:0 1px 4px #00000014}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-field{display:flex;flex-direction:column;gap:.35rem}.auth-field label{font-size:.8rem;font-weight:500;color:#444}.auth-field input{padding:.65rem .85rem;border:1px solid #ddd;border-radius:10px;font-size:.9rem;font-family:inherit;color:#1a1a1a;background:#f9f9f9;transition:border-color .15s,background .15s}.auth-field input:focus{outline:none;border-color:#999;background:#fff}.auth-field input::placeholder{color:#bbb}.password-wrapper{position:relative}.password-wrapper input{width:100%;padding-right:2.75rem}.password-toggle{position:absolute;right:.75rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center}.auth-extras{display:flex;justify-content:space-between;align-items:center}.remember-label{display:flex;align-items:center;gap:.4rem;font-size:.825rem;color:#555;cursor:pointer}.remember-label input[type=checkbox]{width:16px;height:16px;accent-color:#1a1a1a;cursor:pointer}.forgot-btn{background:none;border:none;font-size:.825rem;color:#2563eb;cursor:pointer;padding:0}.forgot-btn:hover{text-decoration:underline}.auth-submit{width:100%;padding:.75rem;background:#1a1a1a;color:#fff;border:none;border-radius:50px;font-size:.925rem;font-weight:600;cursor:pointer;transition:background .15s;margin-top:.25rem}.auth-submit:hover{background:#333}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-resend{background:none;border:none;color:#2563eb;font-size:.85rem;cursor:pointer;padding:0;text-align:center}.auth-resend:hover{text-decoration:underline}.auth-error{margin:.75rem 0 0;padding:.6rem .75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.825rem;text-align:center}.link-btn{background:none;border:none;color:#1a1a1a;font-weight:500;cursor:pointer;text-decoration:underline;font-size:inherit;padding:0}.btn-primary{padding:.6rem 1.5rem;background:#1a1a1a;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s}.btn-primary:hover{background:#333}.btn-primary.full-width{width:100%}.btn-outline{padding:.6rem 1.5rem;background:#fff;color:#555;border:1px solid #ddd;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .15s}.btn-outline:hover{border-color:#bbb;color:#1a1a1a}@media(max-width:768px){.nav-links{display:none;position:absolute;top:56px;left:0;right:0;background:#fff;flex-direction:column;padding:.5rem;border-bottom:1px solid #e5e5e5;margin-left:0}.nav-links.open{display:flex}.nav-signin{display:none}.nav-hamburger{display:block}.page-hero h1{font-size:2rem}.hero-sub{font-size:1rem}.hero-stats{gap:1.5rem}.features-grid{grid-template-columns:1fr}.pricing-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.form-row{flex-direction:column}.hero-actions{flex-direction:column;align-items:center}}
