:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{max-width:1280px;margin:0 auto;padding:0 2rem 2rem;text-align:center}@media(max-width:768px){#root{padding:0 1rem 1rem}}@media(max-width:480px){#root{padding:0 .5rem .5rem;max-width:100vw;overflow-x:hidden}}.app-container{display:flex;flex-direction:column;min-height:100vh}.app-main{flex:1 0 auto;display:flex;flex-direction:column}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.error-message{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:#ef44441a;border:1px solid #ef4444;border-radius:6px;margin:1rem 0}.error-message__icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.error-message__content{flex:1;display:flex;flex-direction:column;gap:.75rem}.error-message__text{margin:0;color:#fecaca;font-size:.85rem;line-height:1.5}.error-message__retry{align-self:flex-start;padding:.5rem 1rem;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;transition:background .2s}.error-message__retry:hover{background:#dc2626}.error-message__retry:focus{outline:2px solid #f87171;outline-offset:2px}@media(max-width:480px){.error-message{padding:.75rem;gap:.5rem}.error-message__icon{font-size:1.25rem}.error-message__text{font-size:.8rem}.error-message__retry{padding:.4rem .8rem;font-size:.7rem}}.home-page{display:flex;flex-direction:column;align-items:stretch;gap:1.5rem;padding:1rem;max-width:100%;box-sizing:border-box}.chart-section{width:100%;display:flex;justify-content:center}.chart-placeholder{width:100%;min-height:240px;border:2px dashed #334155;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#94a3b8;background:#0f172a;font-size:.9rem;letter-spacing:.5px}.controls-container{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.section-header{margin:0 0 .75rem;font-size:.85rem;color:#cbd5e1;font-weight:600}.editor-section{display:flex;flex-direction:column;box-sizing:border-box}.timeseries-editor{width:100%;min-height:140px;padding:.75rem;font-family:monospace;font-size:.75rem;line-height:1.3;border:2px solid #334155;border-radius:6px;background:#1e293b;color:#f1f5f9;resize:vertical;outline:none;box-sizing:border-box}.timeseries-editor:focus{border-color:#64748b}.timeseries-editor.is-valid{border-color:#22c55e;box-shadow:0 0 0 2px #22c55e40}.timeseries-editor.is-invalid{border-color:#ef4444;box-shadow:0 0 0 2px #ef444440}.editor-help{margin-top:.5rem;font-size:.65rem;color:#64748b}.storage-section{display:flex;flex-direction:column}.save-section{display:flex;gap:.5rem;margin-bottom:1rem}.dataset-name-input{flex:1;padding:.5rem;background:#1e293b;color:#f1f5f9;border:1px solid #334155;border-radius:4px;font-size:.75rem;outline:none}.dataset-name-input:focus{border-color:#64748b}.save-button{padding:.5rem 1rem;background:#22c55e;color:#0f172a;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:600;transition:background .2s}.save-button:hover{background:#16a34a}.load-section{flex:1}.dataset-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.dataset-item{display:flex;gap:.5rem}.load-button{flex:1;padding:.5rem;background:#334155;color:#f1f5f9;border:none;border-radius:4px;cursor:pointer;font-size:.75rem;text-align:left;transition:background .2s}.load-button:hover{background:#475569}.delete-button{padding:.5rem .75rem;background:#ef4444;color:#f1f5f9;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:700;line-height:1;transition:background .2s}.delete-button:hover{background:#dc2626}@media(max-width:1024px){.controls-container{gap:1rem}}@media(max-width:768px){.home-page{gap:1.25rem;padding:.75rem}.controls-container{grid-template-columns:1fr;gap:1.5rem}.chart-placeholder{min-height:200px;font-size:.85rem}.timeseries-editor{min-height:120px;font-size:.7rem}}@media(max-width:480px){.home-page{gap:1rem;padding:.5rem;overflow-x:hidden}.controls-container{gap:1rem;width:100%}.chart-section{width:100%;overflow-x:hidden}.chart-placeholder{min-height:180px;font-size:.75rem;border-width:1px}.section-header{font-size:.8rem;margin-bottom:.5rem}.editor-section,.storage-section{width:100%;min-width:0}.timeseries-editor{min-height:100px;padding:.5rem;font-size:.65rem;width:100%;box-sizing:border-box}.editor-help{font-size:.6rem}.dataset-name-input{font-size:.7rem}.save-button{font-size:.7rem;padding:.4rem .8rem}.load-button{font-size:.7rem;padding:.4rem}}.timeseries-chart-container{position:relative;width:80vw;max-width:80vw;min-height:450px;margin:0 auto}.chart-wrapper{width:100%;height:450px;background:#0f172a;border:2px solid #334155;border-radius:8px;overflow:visible}.chart-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;color:#94a3b8;pointer-events:none}@media(max-width:768px){.timeseries-chart-container{width:100%;max-width:100%;min-height:350px}.chart-wrapper{height:350px}.chart-empty{font-size:.7rem}}@media(max-width:480px){.timeseries-chart-container{width:100%;max-width:100%;min-height:320px}.chart-wrapper{height:320px;border-width:1px}.chart-empty{font-size:.65rem}}.app-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#1e293b;color:#fff;position:sticky;top:0;z-index:100}.app-header__brand{display:flex;align-items:center}.app-header__title{display:flex;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:600;text-decoration:none;color:#fff}.app-header__title:hover{text-decoration:underline}.app-header__logo{width:1.5rem;height:1.5rem}.app-header__nav{margin-left:2rem;font-size:.85rem;opacity:.8}.app-header__placeholder{letter-spacing:.5px}.app-header__actions{display:flex;gap:.5rem}@media(max-width:768px){.app-header{padding:.6rem .75rem}.app-header__title{font-size:1rem}.app-header__nav{margin-left:1.5rem;font-size:.8rem}}@media(max-width:480px){.app-header{padding:.5rem;flex-wrap:wrap}.app-header__title{font-size:.9rem}.app-header__logo{width:1.2rem;height:1.2rem}.app-header__nav{margin-left:1rem;font-size:.7rem}.app-header__placeholder{display:none}}.app-footer{margin-top:auto;padding:.75rem 1rem;font-size:.75rem;color:#cbd5e1;background:#0f172a;border-top:1px solid #1e293b;text-align:center;position:sticky;bottom:0;z-index:90}.app-footer__text{margin:0;letter-spacing:.5px}.app-footer__link{color:#60a5fa;text-decoration:none}.app-footer__link:hover{text-decoration:underline}.app-footer__version{margin:.25rem 0 0;font-size:.65rem;color:#64748b;opacity:.8}@media(max-width:480px){.app-footer{padding:.5rem;font-size:.7rem}}
