@charset "UTF-8";.fab-container{position:absolute;top:-56px;right:8px;height:100%}.fab{position:sticky;top:8px;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;opacity:.8;background-color:var(--primary-container);color:var(--on-primary-container);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 3px 5px #0000004d}.fab:hover{opacity:1}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:5vh 16px;background-color:#00000080;overflow-y:auto}.modal-panel{width:100%;max-width:420px;background-color:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 24px #0006;outline:none}.dialog-toolbar{display:flex;align-items:center;padding:12px 8px 12px 16px;border-bottom:1px solid var(--border);font-size:1.25rem;font-weight:500}.dialog-title{text-align:center;font-size:1.3em;font-weight:400;margin:0;padding:16px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.filler{flex:1 1 auto}.dialog-body{padding:16px;max-height:calc(100vh - 200px);overflow-y:auto}.dialog-tabs{display:flex;justify-content:center;gap:8px;border-bottom:1px solid var(--border)}.dialog-tab{background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);padding:8px 16px;cursor:pointer;font:inherit}.dialog-tab.active{color:var(--text);border-bottom-color:var(--primary)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:8px 16px 16px}.dialog-error .error{color:#d32f2f;font-weight:500}.general-settings{list-style:none;margin:0;padding:0}.general-settings li{display:flex;align-items:center;padding:8px 0}.toggle-label{font-size:large;flex:1 1 auto}.switch{position:relative;display:inline-block;width:44px;height:24px}.switch input{position:absolute;opacity:0;width:0;height:0}.switch .slider{position:absolute;inset:0;background-color:var(--border);border-radius:24px;transition:background-color .15s}.switch .slider:before{content:"";position:absolute;height:18px;width:18px;left:3px;top:3px;background-color:#fff;border-radius:50%;transition:transform .15s}.switch input:checked+.slider{background-color:var(--primary)}.switch input:checked+.slider:before{transform:translate(20px)}.dialog-section-header{display:flex;align-items:center;padding:8px;margin-top:16px;background-color:var(--bg);border-radius:4px;font-weight:500}.dialog-section-header.column{flex-direction:column;align-items:flex-start}.help-link{font-size:.7em;font-weight:400}.selection-list,.nav-list{list-style:none;margin:0;padding:0}.selection-list li{border-radius:4px}.selection-list li:has(input:checked){background-color:color-mix(in srgb,var(--primary) 12%,transparent)}.selection-list label{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 8px;cursor:pointer}.nav-list button{display:flex;flex-direction:column;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);padding:12px 8px;cursor:pointer;font:inherit;min-height:48px;justify-content:center}.nav-list button:hover{background-color:var(--bg)}.nav-title{font-size:1rem}.nav-subtitle{font-size:.75em;color:var(--text-muted)}.action-button-container{display:flex;justify-content:flex-end;padding:12px 8px 24px 0}.param-container{margin:1rem auto 0;max-width:220px}.param-input{display:flex;flex-direction:column;margin-bottom:1rem}.param-input input{text-align:center}.style-container{margin:1rem 0;padding-bottom:1rem;border-bottom:1px solid var(--border)}.style-container h3{font-size:1em;font-weight:400;margin:0 0 8px}.style-input{display:inline-flex;flex-direction:column;margin:0 1rem .5rem 0}.field-label{font-size:.75em;color:var(--text-muted);margin-bottom:2px}.field-error{color:#d32f2f;font-size:.75em;margin:2px 0 0}.modal-panel input,.modal-panel select{background-color:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 8px;font:inherit}.modal-panel input:disabled,.modal-panel select:disabled{opacity:.5}.line-sample{width:100%;margin-top:8px}.color-field{position:relative;display:inline-flex;flex-direction:column;margin-bottom:.5rem}.color-input-row{display:flex;align-items:center;gap:6px}.color-hex-input{width:100px}.color-hex-input.invalid{border-color:#d32f2f}.color-toggle{width:28px;height:28px;border:1px solid var(--border);border-radius:4px;cursor:pointer}.swatch-grid{position:absolute;z-index:1100;top:100%;left:0;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:8px;background-color:var(--surface);border:1px solid var(--border);border-radius:4px;box-shadow:0 4px 12px #0000004d}.swatch{width:24px;height:24px;border:1px solid var(--border);border-radius:3px;cursor:pointer}.swatch[aria-selected=true]{outline:2px solid var(--text)}.icon-button{background:none;border:none;color:var(--text);cursor:pointer;display:inline-flex;padding:4px}.btn-text,.btn-raised{border:none;border-radius:4px;padding:8px 16px;font:inherit;font-weight:500;cursor:pointer}.btn-text{background:none;color:var(--link)}.btn-raised{color:#fff}.btn-primary{background-color:#1565c0}.btn-warn{background-color:#c62828}.btn-raised:disabled{opacity:.4;cursor:not-allowed}.dark-theme{--bg: #121316;--surface: #1e1f24;--border: #2c2d33;--text: #e3e3e6;--text-muted: #9aa0a6;--link: #8ab4f8;--link-hover: #ababae;--brand-h1: rgb(230 199 76 / 75%);--brand-h1-hover: rgb(230 199 76 / 90%);--toolbar-h2: #909094;--toolbar-h2-hover: #ababae;--scrollbar: #5e5e62;--scrollbar-hover: #46474a;--primary: #8ab4f8;--primary-container: #004d73;--on-primary-container: #cbe6ff}.light-theme{--bg: #fafafa;--surface: #fff;--border: #e0e0e0;--text: #1f1f1f;--text-muted: #5f6368;--link: #1a73e8;--link-hover: #46474a;--brand-h1: #5e5e62;--brand-h1-hover: #1a1c1e;--toolbar-h2: #76777a;--toolbar-h2-hover: #2f3033;--scrollbar: #5e5e62;--scrollbar-hover: #46474a;--primary: #1a73e8;--primary-container: #cce5ff;--on-primary-container: #001e2c}html,body{min-height:100vh;margin:0;padding:0;font-family:Rubik,Google Sans,Roboto,Helvetica Neue,sans-serif;font-size:16px;background-color:var(--bg);color:var(--text)}header,main,footer{display:block;position:relative;max-width:1024px;margin:0 auto;padding:0 8px}main{min-height:100vh}h1,h2{font-weight:600}a{color:var(--link);text-decoration:underline}a:visited{color:var(--link)}a:hover{color:var(--link-hover)}.center{text-align:center}.right{text-align:right}.noselect{cursor:default;-webkit-user-select:none;user-select:none}.no-wrap{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filler{flex:1 1 auto;text-align:center}.error{color:#b71c1c}@media screen and (min-width:800px){::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{box-shadow:inset 0 0 3px var(--scrollbar);border-radius:2px}::-webkit-scrollbar-thumb{background:var(--scrollbar);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}}:root{--toolbar-height: 56px;--accent: #ff9800;--primary: #1565c0;--primary-container: #cce5ff;--on-primary-container: #001e2c}.main-toolbar{margin-left:auto;margin-right:auto;padding:0;line-height:normal;background-color:transparent}.main-toolbar h1{font-family:Rubik,Roboto,Arial,Helvetica,sans-serif;font-size:.9em;font-weight:600;line-height:1;margin:0;color:var(--brand-h1)}.main-toolbar h2{font-family:Rubik,Roboto,Arial,Helvetica,sans-serif;font-size:.6em;font-weight:400;line-height:.9;letter-spacing:.55px;padding-left:1px;margin:0;color:var(--toolbar-h2)}.main-toolbar h1 small{font-size:.7em;opacity:.7}.main-toolbar h1 a,.main-toolbar h2 a{color:inherit;text-decoration:none}.main-toolbar h1 a{padding-top:.5rem}.main-toolbar h2 a{padding-bottom:.9rem}.main-toolbar h1 a:hover{color:var(--brand-h1-hover)}.main-toolbar h2 a:hover{color:var(--toolbar-h2-hover)}#main-content{position:relative;display:block}.chart-loading{font-family:Rubik,Roboto,Arial,sans-serif;font-size:10px;text-align:center}.chart-loading-spinner{margin:0;padding-top:175px}.chart-loading-spinner img{opacity:.5}.chart-loading-label{margin-top:5px;color:var(--text-muted)}.chart-overlay-container{aspect-ratio:2.5}@media(max-width:880px){.chart-overlay-container{aspect-ratio:2}}@media(max-width:600px){.chart-overlay-container{aspect-ratio:5/4}}@media(max-height:400px)and (orientation:landscape){.chart-overlay-container{aspect-ratio:unset;height:100vh}}.chart-oscillator-container{aspect-ratio:10;margin-top:8px}@media(max-width:880px){.chart-oscillator-container{aspect-ratio:8}}@media(max-width:880px)and (orientation:landscape){.chart-oscillator-container{aspect-ratio:unset;height:25vh}}@media(max-height:600px)and (orientation:landscape){.chart-oscillator-container{aspect-ratio:unset;height:33.33vh}}@media(max-height:400px){.chart-oscillator-container{aspect-ratio:unset;height:50vh}}.api-error-container{display:flex;justify-content:center;padding-top:80px}.api-error-content{max-width:480px;text-align:center;background-color:var(--surface);border:1px solid var(--border);border-radius:8px;padding:32px}.api-error-icon{font-size:48px;color:var(--text-muted)}.api-error-list{display:inline-block;text-align:left;color:var(--text-muted)}.api-error-help code{background-color:var(--bg);padding:2px 6px;border-radius:4px}.container{display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:60vh}.container p,.container h1,.container h2{text-align:center}
