:root{--chart-line:var(--accent);--chart-line-1:var(--accent);--chart-line-2:var(--cyan);--chart-line-3:#7aa2f7;--chart-line-4:var(--red);--chart-line-5:#b48ead;--chart-line-6:#98c379;--chart-up:var(--cyan);--chart-down:var(--red);--chart-grid:color-mix(in srgb, var(--border) 80%, transparent);--chart-axis:var(--text-faint);--chart-bg:transparent}.chart-frame{background:var(--bg-well);border:1px solid var(--border);border-radius:var(--radius-m);width:100%;overflow:hidden}.chart-svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--chart-grid);stroke-width:.5px;vector-effect:non-scaling-stroke}.chart-axis{fill:var(--chart-axis);font-family:var(--font-mono);font-size:10px}.chart-axis-title{fill:var(--text-dim);letter-spacing:.04em;font-size:10px}.chart-ph{fill:var(--text-faint);font-family:var(--font-mono);font-size:13px}.chart-ph-error{fill:var(--text-dim)}.chart-stat-label{fill:var(--text-faint);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.chart-stat-value{fill:var(--accent);font-family:var(--font-mono);font-size:34px;font-weight:600}.chart-stat-sub{fill:var(--text-dim);font-family:var(--font-mono);font-size:12px}.chart-spark{width:100%;height:100%;display:block}.panel-grid{gap:var(--sp-5);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=820px){.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-wide{grid-column:1/-1}}.panel{padding:var(--sp-5);flex-direction:column;min-width:0;display:flex}.panel-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);margin-bottom:var(--sp-4);flex-wrap:wrap;display:flex}.panel-title{font-family:var(--font-body);color:var(--text);font-weight:600;font-size:var(--step-1);overflow-wrap:anywhere;min-width:0}.panel-tag{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em}.panel-legend{gap:var(--sp-3);margin-top:var(--sp-3);font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim);flex-wrap:wrap;display:flex}.panel-legend-item{align-items:center;gap:.4em;display:inline-flex}.panel-legend-swatch{border-radius:2px;flex:none;width:10px;height:10px}.panel-error{align-items:flex-start;gap:var(--sp-2);padding:var(--sp-5);border:1px dashed var(--border-strong);border-radius:var(--radius-m);background:var(--bg-well);flex-direction:column;justify-content:center;min-height:8rem;display:flex}.panel-error-title{font-family:var(--font-body);color:var(--text-dim);font-weight:600}.panel-error-detail{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-faint)}.feed-head{justify-content:space-between;align-items:center;gap:var(--sp-4);margin-bottom:var(--sp-5);flex-wrap:wrap;display:flex}.feed-sort{gap:var(--sp-2);display:inline-flex}.feed-sort .btn[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.feed-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.feed-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.feed-card{gap:var(--sp-3);padding:var(--sp-5);color:inherit;transition:transform .15s var(--ease-out), border-color .15s var(--ease-out);flex-direction:column;min-width:0;text-decoration:none;display:flex}.feed-card:hover{border-color:var(--border-strong);transform:translateY(-2px)}.feed-card-title{font-family:var(--font-display);font-size:var(--step-1);color:var(--text);overflow-wrap:anywhere;line-height:1.2}.feed-card-owner{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-faint)}.feed-card-desc{font-size:var(--step--1);color:var(--text-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.feed-card-spark{height:40px;margin-block:var(--sp-2);background:var(--bg-well);border-radius:var(--radius-s);border:1px solid var(--border);padding:var(--sp-2);overflow:hidden}.feed-card-meta{align-items:center;gap:var(--sp-4);padding-top:var(--sp-3);border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim);flex-wrap:wrap;margin-top:auto;display:flex}.feed-card-stat{align-items:center;gap:.35em;display:inline-flex}.feed-card-badges{gap:var(--sp-2);flex-wrap:wrap;display:flex}.feed-empty,.feed-error{padding:var(--sp-6);text-align:center;font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:var(--radius-m)}.feed-more{margin-top:var(--sp-6);justify-content:center;display:flex}.feed-skel{min-height:12rem}.feed-skel .skel{background:var(--bg-well);border-radius:var(--radius-s);animation:chart-skel 1.1s var(--ease-out) infinite alternate}@keyframes chart-skel{0%{opacity:.5}to{opacity:1}}@media (prefers-reduced-motion:reduce){.feed-skel .skel{animation:none}}.feed-skel .skel-line{height:.9rem;margin-bottom:var(--sp-3)}.feed-skel .skel-spark{height:40px;margin-block:var(--sp-3)}.dash-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-5);margin-bottom:var(--sp-6);flex-wrap:wrap;display:flex}.dash-actions{gap:var(--sp-2);flex-wrap:wrap;display:flex}.dash-meta{gap:var(--sp-4);font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.dash-btn-active{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}.builder-grid{gap:var(--sp-6);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=960px){.builder-grid{grid-template-columns:minmax(0,26rem) minmax(0,1fr);align-items:start}}.builder-form{gap:var(--sp-5);flex-direction:column;display:flex}.builder-panel-card{padding:var(--sp-5);gap:var(--sp-4);flex-direction:column;display:flex}.builder-field{flex-direction:column;gap:.35em;min-width:0;display:flex}.builder-field label{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-faint)}.builder-field input,.builder-field select,.builder-field textarea{background:var(--bg-well);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--radius-s);font-family:var(--font-mono);font-size:var(--step--1);width:100%;max-width:100%;padding:.55em .7em}.builder-row{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.builder-series{border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--sp-4);background:var(--bg-well);gap:var(--sp-3);flex-direction:column;display:flex}.builder-series-head{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.builder-series-title{font-family:var(--font-mono);font-size:var(--step--1);color:var(--text-dim)}.builder-inline,.builder-actions{gap:var(--sp-3);flex-wrap:wrap;align-items:center;display:flex}.builder-preview{gap:var(--sp-4);flex-direction:column;display:flex;position:sticky;top:5rem}.builder-note{font-family:var(--font-mono);font-size:var(--step--1);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-m)}.builder-note-error{background:var(--red-soft);border:1px solid color-mix(in srgb, var(--red) 40%, var(--border));color:var(--text-dim)}.builder-note-ok{background:var(--cyan-soft);border:1px solid color-mix(in srgb, var(--cyan) 40%, var(--border));color:var(--text-dim)}.builder-note-share{align-items:center;gap:var(--sp-3);background:var(--accent-soft);border:1px solid color-mix(in srgb, var(--accent) 40%, var(--border));color:var(--text-dim);flex-wrap:wrap;display:flex}.builder-note-share code{color:var(--accent);overflow-wrap:anywhere}.mine-grid{gap:var(--sp-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=720px){.mine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.mine-card{gap:var(--sp-3);padding:var(--sp-5);flex-direction:column;min-width:0;display:flex}.mine-card-head{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.mine-card-title{font-family:var(--font-display);font-size:var(--step-1);color:var(--text);overflow-wrap:anywhere}.mine-card-actions{gap:var(--sp-2);padding-top:var(--sp-3);flex-wrap:wrap;margin-top:auto;display:flex}.vis-public{color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 45%, var(--border-strong))}.vis-unlisted{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border-strong))}.vis-private{color:var(--text-faint);border-style:dashed}[data-hide]{display:none!important}
