*{box-sizing:border-box;margin:0;padding:0}body{color:#eee;background:#1e1e1e;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app{max-width:1200px;margin:0 auto;padding:2rem}.app:has(.ticker-detail){max-width:none;padding:1rem 1.5rem}.header{text-align:center;margin-bottom:2rem}.header h1{margin-bottom:.5rem;font-size:2rem}.last-updated{color:#888;font-size:.9rem}.status{text-align:center;padding:2rem;font-size:1.2rem}.status.error{color:#ff6b6b}.dashboard{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.dashboard-section{margin-bottom:2.5rem}.dashboard-section:last-child{margin-bottom:0}.dashboard-section-title{letter-spacing:.04em;text-transform:uppercase;color:#888;border-bottom:1px solid #2a2a2c;margin:0 0 1rem;padding-bottom:.5rem;font-size:1.1rem;font-weight:600}.ticker-card{text-align:center;cursor:pointer;background:#252526;border-radius:12px;flex:0 220px;min-width:200px;padding:1.5rem;transition:transform .2s}.ticker-card:hover{transform:translateY(-4px)}.ticker-card.error{border:1px solid #ff6b6b}.symbol{color:#4a90a4;margin-bottom:.5rem;font-size:1.4rem}.price{color:#4caf50;font-size:2rem;font-weight:700}.price.unavailable{color:#888}.change{margin-top:.25rem;font-size:.95rem;font-weight:600}.change.positive{color:#4caf50}.change.negative{color:#ff6b6b}.volume{color:#888;margin-top:.5rem;font-size:.9rem}.error-msg{color:#ff6b6b;margin-top:.5rem;font-size:.8rem}.ticker-detail{padding:1rem 0}.ticker-detail .symbol{margin-bottom:1rem;font-size:2rem}.back-button{color:#4a90a4;cursor:pointer;background:0 0;border:1px solid #4a90a4;border-radius:6px;margin-bottom:1rem;padding:.5rem 1rem;font-size:.9rem;transition:all .2s}.back-button:hover{color:#1e1e1e;background:#4a90a4}.chart-container{background:#252526;border-radius:12px;margin:1rem 0;padding:1rem;overflow:hidden}.chart-container a[href*=tradingview]{display:none!important}.chart-with-trend{align-items:flex-start;gap:1rem;display:flex}.chart-with-trend .chart-container{flex:1;min-width:0}.trend-logic-table{border-collapse:separate;border-spacing:0;cursor:pointer;-webkit-user-select:none;user-select:none;background:#252526;border-radius:12px;flex-shrink:0;align-self:flex-start;margin:1rem 0;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:.9rem;overflow:hidden}.trend-logic-table th{color:#cfd8dc;letter-spacing:.08em;text-align:center;background:#2a2a4e;border-bottom:1px solid #1a1a1a;padding:.5rem 1rem;font-size:.85rem;font-weight:600}.trend-logic-table td{text-align:center;border-bottom:1px solid #1a1a1a;padding:.5rem 1rem}.trend-logic-table tr:last-child td{border-bottom:none}.trend-logic-table .trend-tf{color:#eceff1;background:#2a2a4e;min-width:48px;font-weight:600}.trend-logic-table .trend-state{letter-spacing:.05em;min-width:90px;font-weight:700}.trend-logic-table .trend-state.muted{color:#5a5a5a;background:#d4d4d4}.trend-logic-editor-backdrop{z-index:1000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.trend-logic-editor{color:#eceff1;background:#252526;border-radius:12px;min-width:320px;max-width:90vw;padding:1.25rem 1.5rem;font-family:ui-sans-serif,system-ui,-apple-system,sans-serif;box-shadow:0 10px 40px #00000080}.trend-logic-editor h3{letter-spacing:.05em;color:#cfd8dc;margin:0 0 1rem;font-size:1rem}.trend-logic-editor .editor-row{gap:.75rem;margin-bottom:1rem;display:flex}.trend-logic-editor label{color:#b0bec5;flex-direction:column;flex:1;gap:.25rem;font-size:.8rem;display:flex}.trend-logic-editor input[type=number]{color:#eceff1;background:#1a1a1a;border:1px solid #3a3a5a;border-radius:6px;padding:.4rem .5rem;font-family:inherit;font-size:.9rem}.trend-logic-editor .tf-fieldset{border:1px solid #3a3a5a;border-radius:8px;margin:0 0 1rem;padding:.5rem .75rem .75rem}.trend-logic-editor .tf-fieldset legend{color:#b0bec5;padding:0 .4rem;font-size:.8rem}.trend-logic-editor .tf-toggles{grid-template-columns:repeat(3,1fr);gap:.4rem .75rem;display:grid}.trend-logic-editor .tf-toggle{color:#eceff1;cursor:pointer;flex-direction:row;align-items:center;gap:.4rem;font-size:.85rem}.trend-logic-editor .tf-toggle input{accent-color:#4caf50}.trend-logic-editor .editor-error{color:#ef5350;margin:0 0 .75rem;font-size:.8rem}.trend-logic-editor .editor-actions{justify-content:flex-end;gap:.5rem;display:flex}.trend-logic-editor .editor-actions button{color:#eceff1;cursor:pointer;background:#2a2a4e;border:1px solid #3a3a5a;border-radius:6px;padding:.4rem .9rem;font-family:inherit;font-size:.85rem}.trend-logic-editor .editor-actions button.primary{color:#0d1b2a;background:#4caf50;border-color:#4caf50;font-weight:600}.trend-logic-editor .editor-actions button:hover{filter:brightness(1.15)}.timeframe-selector{flex-wrap:wrap;gap:1.5rem;margin-bottom:1rem;display:flex}.selector-group{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.selector-group label{color:#888;margin-right:.5rem;font-size:.9rem}.selector-group button{color:#eee;cursor:pointer;background:#252526;border:none;border-radius:4px;padding:.5rem .75rem;font-size:.85rem;transition:all .2s}.selector-group button:hover{background:#37373d}.selector-group button.active{color:#1e1e1e;background:#4a90a4}.selector-group button.disabled{color:#444;cursor:not-allowed;opacity:.4;background:#1a1a1a}.selector-group button.disabled:hover{background:#1a1a1a}.ticker-header{align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.ticker-header .symbol{margin-bottom:0}.chart-type-selector{position:relative}.chart-type-button{color:#4a90a4;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #4a90a4;border-radius:6px;justify-content:center;align-items:center;padding:.4rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.chart-type-button:hover{color:#1e1e1e;background:#4a90a4}.chart-type-dropdown{z-index:50;background:#252526;border:1px solid #3c3c3c;border-radius:8px;min-width:200px;padding:.4rem 0;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0006}.chart-type-option{color:#ccc;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;width:100%;padding:.5rem .75rem;font-size:.85rem;transition:background .15s;display:flex}.chart-type-option:hover{background:#37373d}.chart-type-option.active{color:#4a90a4;background:#4a90a41a}.chart-type-group-label{color:#666;text-transform:uppercase;letter-spacing:.05em;padding:.3rem .75rem .15rem;font-size:.7rem}.chart-type-divider{background:#3c3c3c;height:1px;margin:.25rem 0}.settings-button{color:#4a90a4;cursor:pointer;background:0 0;border:1px solid #4a90a4;border-radius:6px;justify-content:center;align-items:center;padding:.4rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.settings-button:hover{color:#1e1e1e;background:#4a90a4}.settings-backdrop{z-index:100;background:#0006;position:fixed;inset:0}.settings-popup{z-index:101;background:#252526;border:1px solid #3c3c3c;border-radius:12px;min-width:300px;padding:1.5rem;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.settings-popup-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.settings-title{color:#4a90a4;font-size:1.1rem;font-weight:600}.settings-close{color:#888;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.1rem;transition:color .2s}.settings-close:hover{color:#eee}.settings-section-label{color:#888;margin-bottom:.75rem;font-size:.85rem}.settings-color-row{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.settings-color-row label{color:#eee;font-size:.9rem}.settings-color-row input[type=color]{appearance:none;cursor:pointer;background:0 0;border:1px solid #3c3c3c;border-radius:4px;width:48px;height:32px;padding:2px}.settings-color-row input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.settings-color-row input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.settings-select{color:#eee;cursor:pointer;background:#1a1a2e;border:1px solid #444;border-radius:4px;padding:.35rem .5rem;font-size:.85rem}.settings-select:focus{outline:1px solid #4a90a4}.settings-presets{gap:.5rem;margin-bottom:.75rem;display:flex}.settings-preset-button{color:#ccc;cursor:pointer;background:#1e1e1e;border:1px solid #333;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:.35rem;padding:.4rem .5rem;font-size:.75rem;transition:all .2s;display:flex}.settings-preset-button:hover{border-color:#4a90a4}.settings-preset-button.active{background:#1a2a3a;border-color:#4a90a4}.settings-preset-swatch{border:1px solid #555;border-radius:2px;width:12px;height:12px;display:inline-block}.settings-color-with-reset{align-items:center;gap:.4rem;display:flex}.settings-color-clear{color:#aaa;cursor:pointer;background:0 0;border:1px solid #555;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;font-size:.65rem;transition:all .2s;display:flex}.settings-color-clear:hover{color:#ff6b6b;border-color:#ff6b6b}.settings-preview{background:#1e1e1e;border-radius:8px;justify-content:center;gap:1.5rem;margin:1rem 0;padding:.75rem;display:flex}.settings-preview-candle{flex-direction:column;align-items:center;gap:0;display:flex}.settings-preview-wick{width:2px;height:10px}.settings-preview-body{border-radius:1px;width:16px;height:24px}.settings-reset-button{color:#4a90a4;cursor:pointer;background:0 0;border:1px solid #4a90a4;border-radius:6px;width:100%;padding:.5rem 1rem;font-size:.85rem;transition:all .2s}.settings-reset-button:hover{color:#1e1e1e;background:#4a90a4}.indicator-selector{position:relative}.indicator-button{color:#4a90a4;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #4a90a4;border-radius:6px;justify-content:center;align-items:center;padding:.4rem .75rem;font-size:.85rem;transition:all .2s;display:flex}.indicator-button:hover{color:#1e1e1e;background:#4a90a4}.indicator-button.has-active{background:#4a90a426}.indicator-dropdown{z-index:50;background:#252526;border:1px solid #3c3c3c;border-radius:8px;min-width:180px;padding:.4rem 0;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #0006}.indicator-option{color:#ccc;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.5rem;width:100%;padding:.5rem .75rem;font-size:.85rem;transition:background .15s;display:flex}.indicator-option:hover{background:#37373d}.indicator-option.active{color:#eee;background:#4a90a41a}.indicator-color-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.indicator-divider{background:#3c3c3c;height:1px;margin:.25rem 0}.indicator-clear{color:#ff6b6b}.indicator-clear:hover{background:#ff6b6b1a}.drawings-inspector{min-width:280px;max-height:60vh;overflow-y:auto}.drawings-inspector-empty{color:#888;text-align:center;padding:.6rem .75rem;font-size:.85rem}.drawings-inspector-section{text-transform:uppercase;letter-spacing:.05em;color:#888;padding:.4rem .75rem .2rem;font-size:.7rem;font-weight:600}.drawings-inspector-row{color:#ccc;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.82rem;transition:background .15s;display:flex}.drawings-inspector-row:hover{background:#37373d}.drawings-inspector-row.is-clickable{cursor:pointer}.drawings-inspector-row.is-editing{background:#37373d}.indicator-editor{background:#2a2a30;border-top:1px solid #3a3a3f;border-bottom:1px solid #3a3a3f;flex-wrap:wrap;gap:.6rem .9rem;padding:.5rem .75rem .65rem 1.95rem;display:flex}.indicator-editor-field{color:#bbb;align-items:center;gap:.4rem;font-size:.78rem;display:flex}.indicator-editor-field input[type=number]{color:#eee;font-variant-numeric:tabular-nums;background:#1e1e22;border:1px solid #444;border-radius:3px;width:60px;padding:.15rem .35rem;font-size:.78rem}.indicator-editor-field input[type=color]{cursor:pointer;background:0 0;border:1px solid #444;border-radius:3px;width:28px;height:22px;padding:0}.drawings-inspector-swatch{border:1px solid #fff3;border-radius:2px;flex-shrink:0;width:10px;height:10px}.drawings-inspector-label{color:#eee;flex-shrink:0;min-width:90px}.drawings-inspector-summary{color:#aaa;font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.78rem;overflow:hidden}.drawings-inspector-delete{color:#888;cursor:pointer;background:0 0;border:none;border-radius:3px;padding:0 .3rem;font-size:1.1rem;line-height:1;transition:all .15s}.drawings-inspector-delete:hover{color:#ff6b6b;background:#ff6b6b26}.drawing-icon{text-align:center;color:#4a90a4;flex-shrink:0;width:16px;font-size:.9rem}.drawing-edit-popup{z-index:200;background:#252526;border:1px solid #3c3c3c;border-radius:8px;min-width:160px;padding:.5rem .6rem;box-shadow:0 4px 20px #00000080}.drawing-edit-header{color:#aaa;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-size:.8rem;display:flex}.drawing-edit-delete{color:#ff6b6b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem .4rem;font-size:.75rem;transition:background .15s}.drawing-edit-delete:hover{background:#ff6b6b26}.drawing-color-grid{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.drawing-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:4px;width:24px;height:24px;transition:border-color .15s,transform .1s}.drawing-color-swatch:hover{transform:scale(1.15)}.drawing-color-swatch.active{border-color:#fff}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}@keyframes pulse-opacity{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:linear-gradient(90deg,#2a2a2a 25%,#383838 50%,#2a2a2a 75%) 0 0/1200px 100%;border-radius:4px;animation:1.8s linear infinite shimmer}.skeleton-card-shell{background:#252526;border-radius:12px;flex-direction:column;flex:0 220px;align-items:center;gap:.75rem;min-width:200px;padding:1.5rem;display:flex}.skeleton-chart-shell{border-radius:12px;height:500px;margin:1rem 0}.warming-up{color:#ffeb3b;text-align:center;padding:.5rem 0;font-size:.85rem;animation:1.5s ease-in-out infinite pulse-opacity}
