:root{
  --bg:#ffffff; --panel:#f7f9fc; --text:#1a1f2b; --muted:#5a6b80; --accent:#4e79a7; --line:#dbe2ea; --chip:#eef2f7;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:14px/1.45 'Nunito', system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,Helvetica,Arial,sans-serif}
header,footer{padding:16px 20px;border-bottom:1px solid var(--line);background:#ffffff}
footer{border-top:1px solid var(--line);border-bottom:none;color:var(--muted)}
h1{font-size:18px;margin:0 0 6px}
h2{font-size:16px;margin:0 0 12px}
main{padding:18px;max-width:1200px;margin:0 auto}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 14px;margin-bottom:14px}
.row{display:flex;align-items:center;gap:12px;margin:8px 0}
.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
label{color:var(--muted)}
input[type="text"], select{background:#ffffff;border:1px solid var(--line);color:var(--text);padding:8px 10px;border-radius:8px;width:100%}
input[type="file"]{padding:6px 0}
input[type="color"]{background:#ffffff;border:1px solid var(--line);border-radius:6px;padding:0;width:44px;height:32px}
button{background:var(--accent);border:none;color:white;padding:8px 12px;border-radius:8px;cursor:pointer}
button:disabled{opacity:.6;cursor:not-allowed}
button.is-active{background:#1f5f93}
.answers-block{border:1px dashed var(--line);border-radius:8px;padding:8px}
.answers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:var(--muted)}
.answers-header label.right{display:flex;align-items:center;gap:14px;white-space:nowrap}
.answers-header label.right input{margin-left:4px}
.answers-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.answers-list label{display:flex;align-items:center;gap:8px;background:var(--chip);padding:6px 8px;border-radius:8px}
.filter{border:1px solid var(--line);border-radius:10px;padding:10px;margin:8px 0;background:#ffffff}
.filter-title{font-weight:600;margin-bottom:8px}
.filter-options{display:flex;flex-wrap:wrap;gap:8px}
.filter-options label{display:flex;align-items:center;gap:8px;background:var(--chip);padding:6px 8px;border-radius:8px}
.chart-container{position:relative;overflow:hidden;background:#ffffff;border:1px solid var(--line);border-radius:10px;padding:8px}
#chartCanvas{display:block;width:100%;height:auto;max-width:100%}
:fullscreen#chartContainer{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100vw;
  height:100vh;
  margin:0;
  padding:12px;
  background:#ffffff;
}
#chartContainer:fullscreen #chartCanvas{
  width:min(calc(100vw - 24px), calc((100vh - 24px) * 2));
  height:auto;
  max-height:calc(100vh - 24px);
}
:-webkit-full-screen#chartContainer{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100vw;
  height:100vh;
  margin:0;
  padding:12px;
  background:#ffffff;
}
#chartContainer:-webkit-full-screen #chartCanvas{
  width:min(calc(100vw - 24px), calc((100vh - 24px) * 2));
  height:auto;
  max-height:calc(100vh - 24px);
}
.chart-title{position:absolute;left:12px;top:8px;color:var(--text);font-weight:700;font-size:18px}
.chart-toolbar{display:flex;gap:8px;margin-bottom:8px}
.note{color:var(--muted)}
.small-note{color:var(--muted)}
.series-colors{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.series-colors .chip{display:flex;align-items:center;gap:6px;background:var(--chip);padding:6px 8px;border-radius:8px}

/* Color controls sections */
.color-section{margin-top:8px}
.color-section h3{margin:6px 0;font-size:13px;color:var(--muted)}
.color-list{display:flex;flex-wrap:wrap;gap:10px}
.color-list .chip{display:flex;align-items:center;gap:6px;background:var(--chip);padding:6px 8px;border-radius:8px}
@media (max-width:900px){.answers-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.answers-list{grid-template-columns:1fr}}
