:root{--bg: #0f0f1a;--bg2: #161625;--bg3: #1c1c30;--border: #2a2a40;--text: #e0e0e0;--text2: #999;--accent: #4CAF50;--accent2: #2196F3;--danger: #E91E63;--sidebar-w: 380px;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%}body{font-family:Segoe UI,system-ui,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg);color:var(--text);font-size:16px;overflow:hidden}.shell{display:flex;flex-direction:column;height:100%}.topbar{background:var(--bg2);border-bottom:1px solid var(--border);padding:12px 20px;display:flex;align-items:center;gap:16px;flex-shrink:0}.topbar h1{font-size:19px;font-weight:600;color:#fff}.topbar .subtitle{font-size:15px;color:var(--text2)}.topbar .spacer{flex:1}.topbar .toolbar{display:flex;gap:8px}.layout{display:flex;flex:1;overflow:hidden}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg2);border-right:1px solid var(--border);overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:14px}.sidebar h3{font-size:14px;text-transform:uppercase;color:var(--text2);letter-spacing:1px}.data-section{display:flex;flex-direction:column;gap:10px}.data-section .row{display:flex;gap:8px}.data-section input,.data-section select{flex:1}.data-info{font-size:14px;color:var(--text2);padding:4px 0}.data-info.error{color:var(--danger)}input,select,button,textarea{background:var(--bg3);border:1px solid var(--border);color:var(--text);padding:10px 14px;border-radius:4px;font-size:16px;outline:none;font-family:inherit}input:focus,select:focus,textarea:focus{border-color:var(--accent2)}button{cursor:pointer;font-weight:500}button:disabled{opacity:.55;cursor:not-allowed}button:hover:not(:disabled){background:var(--border)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff}button.primary:hover:not(:disabled){background:#45a049}button.secondary{background:var(--accent2);border-color:var(--accent2);color:#fff}button.secondary:hover:not(:disabled){background:#1976d2}button.danger{background:transparent;border-color:var(--danger);color:var(--danger);padding:8px 12px;font-size:14px}button.small{padding:8px 12px;font-size:14px}.bt-card{background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:14px;display:flex;flex-direction:column;gap:10px;position:relative}.bt-card .card-header{display:flex;justify-content:space-between;align-items:center;gap:8px}.bt-card .card-header .name{font-weight:600;font-size:16px;flex:1;outline:none;padding:2px 4px;border-radius:2px}.bt-card .card-header .name:focus{background:var(--bg2)}.bt-card .color-dot{width:12px;height:12px;border-radius:50%;display:inline-block;margin-right:6px;vertical-align:middle}.bt-card label{font-size:14px;color:var(--text2);display:block;margin-bottom:3px}.bt-card .param-row{display:flex;gap:8px;flex-wrap:wrap}.bt-card .param-group{flex:1;min-width:70px}.bt-card .param-group input,.bt-card .param-group select{width:100%}.bt-card .actions{display:flex;gap:8px;margin-top:4px}.bt-card .metrics-mini{font-size:14px;color:var(--text2);line-height:1.6}.bt-card .metrics-mini span{color:var(--text);font-weight:500}.bt-card .metrics-mini.error{color:var(--danger)}.add-btn{border:2px dashed var(--border);border-radius:6px;padding:14px;text-align:center;cursor:pointer;color:var(--text2);font-size:16px;transition:all .2s;background:transparent;font-weight:400}.add-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:transparent}.preset-section{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.preset-section select{flex:1;min-width:100px}.preset-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.preset-tag{display:inline-flex;align-items:center;gap:4px;background:var(--bg3);border:1px solid var(--border);border-radius:4px;padding:4px 10px;font-size:14px;cursor:pointer}.preset-tag:hover{border-color:var(--accent2)}.preset-tag .del{color:var(--danger);cursor:pointer;font-weight:700;padding-left:4px}.main{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.main>*{flex-shrink:0}.chart-container{width:100%;min-height:300px}.chart-container.h350{min-height:350px}.chart-container.h260{min-height:260px}.chart-container.h280{min-height:280px}.chart-container.h220{min-height:220px}.empty-state{display:flex;align-items:center;justify-content:center;flex:1;color:var(--text2);font-size:17px}.metrics-table{width:100%;border-collapse:collapse;font-size:16px}.metrics-table th,.metrics-table td{padding:7px 14px;text-align:right;border-bottom:1px solid var(--border)}.metrics-table th{background:var(--bg2);color:#fff;font-weight:600;text-align:right}.metrics-table th:first-child,.metrics-table td:first-child{text-align:left}.metrics-table .best{color:var(--accent);font-weight:600}.metrics-table .note{font-size:13px;color:var(--text2);margin-top:6px}.metric-info-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;font-size:13px;color:var(--text2);line-height:1;opacity:.6;transition:opacity .15s}.metric-info-btn:hover{opacity:1;color:var(--accent2)}.metric-info-popup{position:absolute;left:0;top:100%;z-index:99;background:#1e1e1e;border:1px solid #444;border-radius:6px;padding:10px 14px 10px 12px;width:280px;box-shadow:0 4px 16px #0006;font-size:13px;line-height:1.5;color:var(--text)}.metric-info-popup strong{display:block;margin-bottom:4px;font-size:14px}.metric-info-popup p{margin:0;color:var(--text2)}.metric-info-close{position:absolute;top:6px;right:8px;background:none;border:none;cursor:pointer;font-size:16px;color:var(--text2);padding:0;line-height:1}.metric-info-close:hover{color:var(--text)}.corr-table{border-collapse:collapse;font-size:15px;margin-top:8px}.corr-table th,.corr-table td{padding:7px 12px;text-align:center;border:1px solid var(--border)}.corr-table th{background:var(--bg2);color:#fff;font-size:14px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:32px}.modal{background:var(--bg2);border:1px solid var(--border);border-radius:8px;padding:20px;max-width:900px;max-height:90vh;overflow:auto;box-shadow:0 10px 30px #0009}.modal h2{font-size:17px;margin-bottom:12px}.indicator-charts-section{border:1px solid var(--border);border-radius:6px;overflow:hidden}.section-header{display:flex;align-items:center;background:var(--bg2);border-bottom:1px solid var(--border)}.section-toggle{flex:1;text-align:left;background:transparent;border:none;border-radius:0;padding:10px 16px;font-size:15px;font-weight:600;color:var(--text);cursor:pointer;display:flex;align-items:center;gap:8px}.section-toggle:hover:not(:disabled){background:var(--bg3)}.toggle-arrow{font-size:13px;color:var(--accent2)}.toggle-hint{font-size:13px;color:var(--text2);font-weight:400;margin-left:auto}.section-controls{display:flex;gap:4px;padding:0 12px}.indicator-charts-body{padding:8px 0}.heatmap-section{border:1px solid var(--border);border-radius:6px;overflow:hidden}.heatmap-body{padding:12px}.heatmap-tabs{display:flex;gap:4px;margin-bottom:12px;border-bottom:1px solid var(--border);padding-bottom:4px}.heatmap-tab{background:transparent;border:none;border-bottom:2px solid transparent;border-radius:0;padding:4px 12px;font-size:15px;color:var(--text2);cursor:pointer;gap:6px}.heatmap-tab:hover:not(:disabled){background:var(--bg3);color:var(--text)}.heatmap-tab.active{color:var(--text)}.monthly-table{border-collapse:collapse;font-size:14px;width:100%}.monthly-table th{background:var(--bg2);color:var(--text2);font-weight:600;padding:5px 8px;text-align:center;border:1px solid var(--border);white-space:nowrap}.monthly-table th:first-child{text-align:left}.year-cell{padding:5px 10px;font-weight:600;color:var(--text);background:var(--bg2);border:1px solid var(--border);white-space:nowrap}.month-cell{padding:5px 6px;text-align:center;border:1px solid rgba(0,0,0,.15);font-size:13px;white-space:nowrap;min-width:52px}.annual-cell{border-left:2px solid var(--border)!important}.dist-stats-grid{display:flex;gap:12px;padding:10px 0 4px;flex-wrap:wrap}.dist-stats-card{flex:1;min-width:180px;background:var(--bg3);border:1px solid var(--border);border-radius:6px;padding:10px 14px;display:flex;flex-direction:column;gap:5px}.dist-stats-title{font-size:14px;font-weight:600;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dist-stats-row{display:flex;justify-content:space-between;font-size:14px;color:var(--text2)}.dist-stats-row span:last-child{color:var(--text);font-weight:500;font-variant-numeric:tabular-nums}.trade-log-summary{display:flex;flex-wrap:wrap;gap:6px 20px;padding:8px 0 10px;font-size:14px;color:var(--text2)}.trade-log-summary strong{font-variant-numeric:tabular-nums}.trade-log-table{border-collapse:collapse;font-size:14px;width:100%}.trade-log-table th{background:var(--bg2);color:var(--text2);font-weight:600;padding:5px 8px;border-bottom:1px solid var(--border);white-space:nowrap;text-align:right}.trade-log-table th:nth-child(1),.trade-log-table th:nth-child(2),.trade-log-table th:nth-child(3){text-align:left}.trade-log-table th:hover{color:var(--text);cursor:pointer}.trade-log-table td{padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.04);white-space:nowrap;font-variant-numeric:tabular-nums}.trade-log-table tr:hover td{background:var(--bg3)}.leverage-group{border-top:1px dashed var(--border);padding-top:8px;margin-top:2px;display:flex;flex-direction:column;gap:6px}.leverage-group .applied{font-size:13px;color:var(--text2)}.leverage-group .applied span{color:var(--accent);font-weight:600}.modal-box{background:var(--bg2);border:1px solid var(--border);border-radius:8px;box-shadow:0 10px 40px #000c;overflow:hidden;display:flex;flex-direction:column}.modal-box.package-editor{display:flex;flex-direction:column;width:min(1100px,calc(100vw - 48px));max-height:calc(100vh - 64px);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:15px;font-weight:600;color:var(--text)}.modal-header-actions{display:flex;align-items:center;gap:8px}.docs-link{font-size:13px;color:var(--accent2);text-decoration:none}.docs-link:hover{text-decoration:underline}.modal-body{display:flex;flex:1;overflow:hidden;min-height:0}.editor-pane{flex:1;display:flex;flex-direction:column;min-width:0;border-right:1px solid var(--border);padding:12px;gap:6px}.editor-pane-label{font-size:13px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;justify-content:space-between}.editor-hint{font-weight:400;font-size:12px;letter-spacing:0;text-transform:none;color:var(--text2);opacity:.6}.code-editor{flex:1;min-height:0;font-family:SF Mono,Fira Code,monospace;font-size:14px;line-height:1.6;background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:10px 12px;resize:none;outline:none;tab-size:4}.code-editor:focus{border-color:var(--accent2)}.code-editor.has-errors{border-color:var(--danger)}.validation-pane{width:280px;flex-shrink:0;display:flex;flex-direction:column;padding:12px;gap:10px;overflow-y:auto}.validation-actions{display:flex;gap:6px}.validation-actions button{flex:1}button.primary.saved{background:var(--accent);opacity:.8}.validation-section{display:flex;flex-direction:column;gap:4px}.validation-section-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.error-section .validation-section-title{color:var(--danger)}.warn-section .validation-section-title{color:#ff9800}.validation-item{font-size:13px;line-height:1.5;padding:4px 6px;border-radius:3px}.validation-item.error{background:#e91e631f;color:#ff6b8a}.validation-item.warn{background:#ff98001f;color:#ffb74d}.validation-idle{font-size:13px;color:var(--text2);line-height:1.6}.validation-ok{font-size:14px;color:var(--accent);font-weight:600}.harness-list{display:flex;flex-direction:column;gap:4px}.harness-list code{font-size:13px;color:var(--text2)}.harness-items{display:flex;flex-direction:column;gap:2px}.harness-item{font-family:SF Mono,Fira Code,monospace;font-size:12px;color:var(--text2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 4px;border-radius:2px}.harness-item:hover{background:var(--bg3);color:var(--text);overflow:visible;white-space:normal;word-break:break-all}.pkg-badge{font-size:12px;color:var(--text2);background:#2196f314;border:1px solid rgba(33,150,243,.2);border-radius:3px;padding:3px 6px;margin-top:-4px}.py-status{font-size:13px;color:var(--accent2);text-align:center;padding:4px 0;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.sweep-btn{font-size:14px;padding:5px 10px}.modal-box.sweep-modal{width:min(92vw,1000px);max-height:90vh;display:flex;flex-direction:column}.sweep-body{display:flex;flex:1;min-height:0;gap:16px;overflow:hidden}.sweep-controls{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto;padding-right:4px}.sweep-param-block{display:flex;flex-direction:column;gap:6px;border:1px solid var(--bg3);border-radius:4px;padding:8px}.sweep-param-header{font-size:13px;font-weight:600;color:var(--accent2);text-transform:uppercase;letter-spacing:.05em}.sweep-field{display:flex;flex-direction:column;gap:2px}.sweep-label{font-size:12px;color:var(--text2);text-transform:uppercase;letter-spacing:.04em}.sweep-range-row{display:flex;gap:6px}.sweep-range-row .sweep-field{flex:1;min-width:0}.sweep-range-row input{width:100%;min-width:0}.sweep-grid-hint{font-size:13px;color:var(--text2);text-align:center}.sweep-run-btn{width:100%;padding:8px;font-size:15px}.sweep-progress-track{height:4px;background:var(--bg3);border-radius:2px;overflow:hidden}.sweep-progress-bar{height:100%;background:var(--accent);transition:width .2s ease;border-radius:2px}.sweep-summary{font-size:13px;color:var(--text2);display:flex;flex-direction:column;gap:2px}.sweep-pkg-warning{font-size:13px;color:#ffb74d;background:#ffb74d14;border:1px solid rgba(255,183,77,.25);border-radius:4px;padding:8px;line-height:1.5}.sweep-chart-pane{flex:1;min-width:0;display:flex;flex-direction:column}.sweep-chart-placeholder{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-size:15px;color:var(--text2);line-height:1.7;padding:24px}.sweep-chart{width:100%;height:420px}.modal-box.wf-modal{width:min(94vw,1100px);max-height:92vh;display:flex;flex-direction:column}.wf-right-pane{overflow-y:auto}.wf-results{display:flex;flex-direction:column;gap:8px;width:100%}.wf-table-section{border-top:1px solid var(--bg3);padding-top:8px}.wf-table-toggle{font-size:14px;color:var(--text2);background:none;border:none;cursor:pointer;padding:4px 0;display:flex;align-items:center;gap:6px;width:100%}.wf-table-toggle:hover{color:var(--text)}.wf-table-scroll{overflow-x:auto;max-height:260px;overflow-y:auto;margin-top:6px}.wf-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.wf-table th{position:sticky;top:0;background:var(--bg2);color:var(--text2);text-transform:uppercase;font-size:12px;letter-spacing:.04em;padding:8px 12px;text-align:right;border-bottom:1px solid var(--bg3);z-index:1}.wf-table th:first-child,.wf-table th:nth-child(2){text-align:left}.wf-table td{padding:3px 8px;text-align:right;border-bottom:1px solid rgba(255,255,255,.04);color:var(--text)}.wf-table td:first-child,.wf-table td:nth-child(2){text-align:left;color:var(--text2)}.wf-table tr:hover td{background:var(--bg3)}.wf-param-cell{font-family:monospace;color:var(--accent2)!important}.modal-box.split-modal{width:min(92vw,1000px);max-height:92vh;display:flex;flex-direction:column}.split-body{display:flex;flex:1;min-height:0;gap:16px;overflow:hidden;padding:14px}.split-controls{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.split-slider-block{display:flex;flex-direction:column;gap:8px;background:var(--bg3);border-radius:6px;padding:10px}.split-slider-header{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:600}.split-label-is{color:#4caf50}.split-label-oos{color:#ff9800}.split-pct{color:var(--text);font-size:15px}.split-bar-visual{display:flex;height:6px;border-radius:3px;overflow:hidden;gap:2px}.split-bar-is{background:#4caf50;border-radius:3px 0 0 3px}.split-bar-oos{background:#ff9800;border-radius:0 3px 3px 0;flex:1}.split-slider{width:100%;accent-color:var(--accent)}.split-date-info{display:flex;flex-direction:column;gap:4px}.split-date-row{display:flex;align-items:center;gap:5px;font-size:13px;color:var(--text2)}.dot-is,.dot-oos{width:7px;height:7px;border-radius:50%;flex-shrink:0}.dot-is{background:#4caf50}.dot-oos{background:#ff9800}.split-period-label{font-weight:600;color:var(--text);width:26px}.split-bars{color:#666;font-size:12px}.split-run-btn{width:100%;padding:8px;font-size:15px}.split-error{font-size:13px;color:var(--danger);background:#e91e6314;border:1px solid rgba(233,30,99,.25);border-radius:4px;padding:6px 8px}.split-hint{font-size:13px;color:var(--text2);line-height:1.6;text-align:center;padding:8px}.split-metrics-section{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--bg3);padding-top:8px}.split-metrics-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text2)}.split-metrics-table{width:100%;border-collapse:collapse;font-size:13px}.split-metrics-table th{text-align:right;padding:3px 5px;color:var(--text2);font-size:12px;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--bg3)}.split-metrics-table th:first-child{text-align:left}.split-metrics-table td{text-align:right;padding:3px 5px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--text)}.split-metric-label{text-align:left!important;color:var(--text2)!important}.split-good{color:#4caf50!important}.split-warn{color:#ffb74d!important}.split-bad{color:#ef5350!important}.split-delta{font-family:monospace}.split-legend{font-size:12px;color:var(--text2);line-height:1.8}.split-legend .split-good,.split-legend .split-warn,.split-legend .split-bad{font-size:16px;vertical-align:-1px}.split-chart-pane{flex:1;min-width:0;display:flex;flex-direction:column}.split-chart{width:100%;height:100%;min-height:300px}.split-chart-placeholder{flex:1;display:flex;align-items:center;justify-content:center;font-size:15px;color:var(--text2);text-align:center;line-height:1.7}.wf-mode-toggle{display:flex;border:1px solid var(--border);border-radius:5px;overflow:hidden}.wf-mode-btn{flex:1;padding:5px 8px;font-size:14px;font-weight:500;background:transparent;border:none;color:var(--text2);cursor:pointer;transition:background .15s,color .15s}.wf-mode-btn:hover{background:var(--bg3);color:var(--text)}.wf-mode-btn.active{background:var(--accent);color:#000}.wf-mode-desc{font-size:12px;color:var(--text2);line-height:1.5;margin-top:-4px}.modal-box.mc-modal{width:min(92vw,1020px);max-height:92vh;display:flex;flex-direction:column}.mc-body{display:flex;flex:1;min-height:0;gap:16px;overflow:hidden;padding:14px}.mc-controls{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.mc-field{display:flex;flex-direction:column;gap:4px}.mc-field-label{font-size:13px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.04em}.mc-field-hint{font-weight:400;font-size:12px;letter-spacing:0;text-transform:none;color:var(--text2)}.mc-run-btn{width:100%;padding:8px;font-size:15px}.mc-progress-group{display:flex;flex-direction:column;gap:4px}.mc-hint{font-size:13px;color:var(--text2);line-height:1.7;padding:6px 0}.mc-stats{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--bg3);padding-top:8px}.mc-stats-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text2);margin-bottom:2px}.mc-sub-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text2);margin-top:6px;margin-bottom:2px;border-top:1px solid var(--bg3);padding-top:6px}.mc-row{display:flex;justify-content:space-between;align-items:center;font-size:13px}.mc-lbl{color:var(--text2)}.mc-val{font-weight:600;color:var(--text)}.mc-good{color:#4caf50!important}.mc-warn{color:#ffb74d!important}.mc-bad{color:#ef5350!important}.mc-elapsed{font-size:12px;color:#555;margin-top:4px;text-align:right}.mc-chart-pane{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;gap:0}.mc-chart{width:100%;flex-shrink:0;min-height:340px}.mc-section-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent2)}.mc-section-divider{height:1px;background:var(--border);margin:4px 0}.bs-panel{border-top:1px solid var(--border);padding:12px 4px 8px;flex-shrink:0}.bs-panel-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent2);margin-bottom:8px}.bs-table{width:100%;border-collapse:collapse;font-size:14px}.bs-table th{text-align:right;padding:4px 10px;color:var(--text2);border-bottom:1px solid var(--bg3);font-size:12px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.bs-table th:first-child{text-align:left}.bs-table td{text-align:right;padding:5px 10px;color:var(--text);border-bottom:1px solid rgba(255,255,255,.04);font-family:monospace;font-size:14px}.bs-table td:first-child{text-align:left;font-family:inherit;font-weight:600;color:var(--text2);width:80px}.bs-table tr:hover td{background:var(--bg3)}.ci-range{color:#bbb!important}.ci-wide{color:#888!important}.bs-elapsed{font-size:12px;color:#555;text-align:right;margin-top:6px;padding-right:10px}.gate-modal{position:relative;max-width:420px;width:100%;text-align:center;padding:36px 32px 28px;display:flex;flex-direction:column;align-items:center;gap:14px}.gate-close{position:absolute;top:12px;right:12px;background:transparent;border:none;color:var(--text2);font-size:22px;line-height:1;padding:4px 8px;cursor:pointer}.gate-close:hover{color:var(--text);background:transparent}.gate-icon{font-size:36px;line-height:1}.gate-title{font-size:20px;font-weight:700;color:#fff;margin:0}.gate-body{font-size:15px;color:var(--text2);line-height:1.6;margin:0}.gate-form{width:100%;display:flex;flex-direction:column;gap:10px}.gate-input{width:100%;text-align:center;font-size:16px;padding:12px 16px}.gate-error{font-size:13px;color:var(--danger)}.gate-submit{width:100%;padding:12px;font-size:16px;font-weight:600}.gate-hint{font-size:13px;color:var(--text2)}.gate-link{background:none;border:none;color:var(--accent2);font-size:13px;cursor:pointer;padding:0;text-decoration:underline}.gate-link:hover{background:none;color:var(--accent2);opacity:.8}.gate-success{display:flex;flex-direction:column;align-items:center;gap:12px;padding:16px 0}.gate-check{font-size:48px;color:var(--accent);line-height:1}.gate-success p{font-size:16px;color:var(--text2)}
