:root{font-family:Ubuntu,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,Noto Sans,Liberation Sans,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;color:#0f172aeb;background:radial-gradient(1100px 520px at 12% 10%,#0f766e29,#fff0 60%),radial-gradient(900px 520px at 88% 22%,#2563eb24,#fff0 55%),radial-gradient(800px 520px at 55% 92%,#f973161f,#fff0 60%),#f3f6fb}*{box-sizing:border-box}select,textarea{color:inherit}.app{min-height:100vh;padding:28px}.topbar{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px 18px 16px;border-radius:18px;background:linear-gradient(135deg,#ffffffbf,#ffffff85);border:1px solid rgba(15,23,42,.12);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.brand{display:flex;align-items:center;gap:12px}.brandMark{width:14px;height:36px;border-radius:8px;background:linear-gradient(180deg,#0f766e,#2563eb);box-shadow:0 10px 30px #2563eb2e}.brandTitle{font-size:18px;letter-spacing:.2px;font-weight:700;color:#0f172aeb}.brandSub{font-size:12.5px;color:#0f172aad;margin-top:2px}.controls{display:flex;align-items:center;gap:12px}.field{display:grid;gap:6px}.fieldLabel{font-size:12px;color:#0f172aad}.select{height:36px;border-radius:12px;border:1px solid rgba(15,23,42,.14);background:#ffffffe6;padding:0 12px;font:inherit}.main{margin-top:16px;display:grid;grid-template-columns:420px 1fr;gap:16px}.panel{border-radius:18px;border:1px solid rgba(15,23,42,.12);background:#ffffffb8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:14px;box-shadow:0 20px 50px #02061714}.panelTitle{font-size:12px;letter-spacing:.6px;text-transform:uppercase;color:#0f172a9e;margin:2px 2px 10px}.textarea{width:100%;min-height:520px;resize:vertical;border-radius:14px;border:1px solid rgba(15,23,42,.12);background:#f8fafcf2;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12.5px;line-height:1.45;color:#0f172ae6}.hint{margin-top:10px;font-size:12px;color:#0f172a9e}.hint code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:12px;white-space:pre-wrap}.error{margin-top:10px;padding:10px 12px;border-radius:14px;background:#dc262614;border:1px solid rgba(220,38,38,.18);color:#7f1d1deb;font-size:12.5px;white-space:pre-wrap}.empty{height:100%;min-height:260px;display:grid;place-items:center;color:#0f172a99;font-size:13px}.chartWrap{display:grid;gap:12px}.chartMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.kpis{display:flex;gap:10px;flex-wrap:wrap}.kpi{padding:10px 12px;border-radius:14px;background:#f8fafcd9;border:1px solid rgba(15,23,42,.1);min-width:120px}.kpiLabel{font-size:11px;color:#0f172a99;letter-spacing:.3px}.kpiValue{margin-top:2px;font-size:15px;font-weight:700;color:#0f172aeb}.legend{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.legendItem{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;border:1px solid rgba(15,23,42,.1);background:#ffffffb3}.swatch{width:10px;height:10px;border-radius:999px}.legendLabel{font-size:12px;color:#0f172abf}.chart{width:100%;height:auto;border-radius:16px;background:radial-gradient(1200px 300px at 20% 0%,#0f766e14,#fff0 60%),radial-gradient(900px 380px at 80% 30%,#2563eb17,#fff0 55%),#f8fafcd9;border:1px solid rgba(15,23,42,.1)}@media(max-width:980px){.app{padding:16px}.main{grid-template-columns:1fr}.textarea{min-height:360px}}#chart-vertical-bar{position:absolute;visibility:hidden;width:1px;border:1px dashed #6d6ed1;opacity:0;pointer-events:none;font-family:Ubuntu,sans-serif;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease}#chart-tooltip{position:absolute;visibility:hidden;background-color:#000c;border-radius:5px;display:flex;pointer-events:none;opacity:0;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease;font-family:Ubuntu,sans-serif}#chart-tooltip:after{content:"";position:absolute;width:0;height:0;border-width:10px;border-style:solid;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease}#chart-tooltip.left:after{top:20px;left:100%;margin-top:-10px;border-color:transparent transparent transparent rgba(0,0,0,.8)}#chart-tooltip.left-top:after{bottom:20px;left:100%;margin-bottom:-10px;border-color:transparent rgba(0,0,0,.8) transparent transparent}#dough-tooltip{position:absolute;background-color:#000c;border-radius:5px;display:flex;pointer-events:none;opacity:0;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease;font-family:Ubuntu,sans-serif}#dough-tooltip:after{content:"";position:absolute;width:0;height:0;border-width:10px;border-style:solid;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease}#dough-tooltip.left:after{top:20px;left:100%;margin-top:-10px;border-color:transparent transparent transparent rgba(0,0,0,.8)}#dough-tooltip.right:after{top:20px;right:100%;margin-top:-10px;border-color:transparent rgba(0,0,0,.8) transparent transparent}#chart-tooltip-separator{margin:20px 10px;width:1px;background:gray;display:none}#chart-tooltip-right-section{margin:10px 10px 10px 0}#chart-tooltip.right:after{top:20px;right:100%;margin-top:-10px;border-color:transparent rgba(0,0,0,.8) transparent transparent}#chart-tooltip.right-top:after{bottom:20px;right:100%;margin-bottom:-10px;border-color:transparent rgba(0,0,0,.8) transparent transparent}.chart-tooltip-header{display:flex;padding:0 8px 8px;margin-top:5px}.chart-tooltip-header>span:nth-child(1){border-width:2px;margin-right:5px;margin-top:5px}.chart-tooltip-header>div{font-size:13px;color:#fff}.chart-tooltip-header>div>span{line-height:15px}.chart-tooltip-header>div>span:last-of-type{font-size:1rem;line-height:13px}.chart-tooltip-period{color:#fff;font-size:15px;padding:0 10px 5px;text-decoration:underline}.chart-tooltip-table{margin:0 10px;color:#fff;font-size:14px}.chart-tooltip-misc{font-size:12px;color:#b3b3b3}.chart-tooltip-data>span{font-size:12px;color:#b3b3b3;font-weight:700}#annotation-tooltip{position:absolute;visibility:hidden;background-color:#000c;border-radius:5px;padding:8px 12px;pointer-events:none;opacity:0;z-index:100;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease;font-family:Ubuntu,sans-serif;color:#fff;font-size:13px;line-height:1.4;display:flex;max-width:300px;transform:translate(-50%)}#annotation-tooltip:after{content:"";position:absolute;bottom:100%;left:50%;margin-left:-8px;width:0;height:0;border-width:8px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.8) transparent}.annotation-tooltip-item{padding-left:2px;padding-right:4px;display:flex}.annotation-tooltip-icon{padding-right:5px}.annotation-tooltip-title{font-weight:700;margin-bottom:2px}.annotation-tooltip-source{color:#000;margin-left:10px;height:min-content}#annotation-chart-vertical-bar{position:absolute;visibility:hidden;width:1px;border:1px dashed #6d6ed1;opacity:0;pointer-events:none;font-family:Ubuntu,sans-serif;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease}#annotation-chart-tooltip{position:absolute;visibility:hidden;background-color:#000c;border-radius:5px;display:flex;pointer-events:none;opacity:0;transition-property:opacity,left,top;transition-duration:.3s;z-index:1000;transition-timing-function:ease;font-family:Ubuntu,sans-serif}#annotation-chart-tooltip:after{content:"";position:absolute;width:0;height:0;border-width:10px;border-style:solid;transition-property:opacity,left,top;transition-duration:.3s;transition-timing-function:ease}#annotation-chart-tooltip.left:after{top:20px;left:100%;margin-top:-10px;border-color:transparent transparent transparent rgba(0,0,0,.8)}#annotation-chart-tooltip-separator{margin:20px 10px;width:1px;background:gray;display:none}#annotation-chart-tooltip-right-section{margin:10px 10px 10px 0}#annotation-chart-tooltip.right:after{top:20px;right:100%;margin-top:-10px;border-color:transparent rgba(0,0,0,.8) transparent transparent}.lineChartWrap{width:100%}.lineChartCanvas{width:100%;cursor:crosshair}.lineChartCanvas svg{display:block;width:100%}.lineChartOptions{margin-top:10px;display:flex;align-items:center;gap:12px;justify-content:flex-end}.lineChartButton{height:34px;padding:0 12px;border-radius:999px;border:1px solid rgba(15,23,42,.14);background:#ffffffbf;color:#0f172adb;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.lineChartButton:hover{background:#ffffffeb}.lineChartButton:active{transform:translateY(1px)}.lineChartOption{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#0f172ab3;-webkit-user-select:none;user-select:none}.lineChartOption input{margin:0;accent-color:#0F766E}
