/* demo.css: interactive demos on solution pages, form controls, option boxes. */
form{display:grid;gap:16px}label{font-weight:500;font-size:.95rem;display:grid;gap:6px}
input,textarea,select{font:400 1rem var(--body);color:var(--blue);background:var(--white);border:1.5px solid var(--silver);border-radius:4px;padding:10px 12px;width:100%}
input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--blue);width:100%}
input[type=checkbox]{width:18px;height:18px;padding:0;accent-color:var(--blue);flex:none}
input:focus,textarea:focus,select:focus{border-color:var(--blue);outline:none}textarea{min-height:110px;resize:vertical}
/* demos */
.demo{margin-top:24px;border:1px solid var(--silver);border-radius:6px;background:var(--paper);padding:22px}
.demo-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:16px;font-size:.88rem;color:var(--soft)}
.demo-top b{font-family:var(--head);font-size:1.05rem;color:var(--blue)}
.ctls{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px 28px;margin-bottom:18px}
.ctls label{font-size:.9rem}.ctls output{font-weight:500;color:var(--green)}
.chk{display:flex;gap:10px;align-items:flex-start;padding:8px 0;font-weight:400;font-size:.95rem}
.fleet{display:grid;grid-template-columns:repeat(10,1fr);gap:6px;max-width:520px}
.dev{aspect-ratio:1;border-radius:3px;border:1px solid var(--silver);background:var(--panel)}
.dev.load{background:var(--sky);border-color:var(--sky)}.dev.new{background:var(--green);border-color:var(--green)}.dev.back{background:var(--amber);border-color:var(--amber)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.85rem;color:var(--soft);margin-top:12px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:6px;vertical-align:-1px;border:1px solid var(--silver)}
.status{margin-top:14px;font-size:.97rem;min-height:3.2em}
.stats{display:flex;gap:26px;flex-wrap:wrap;margin-top:14px}.stats div{font-size:.88rem;color:var(--soft)}.stats strong{display:block;font:700 1.5rem var(--head);color:var(--blue)}
.cv svg{width:100%;height:auto;display:block;background:var(--white);border:1px solid var(--silver);border-radius:4px}
.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.panel{background:var(--white);border:1px solid var(--silver);border-radius:6px;padding:16px;min-height:150px}
.panel h4{font:700 .95rem var(--head);margin-bottom:8px}
.log{font:400 .85rem/1.5 var(--body);color:var(--soft);max-height:150px;overflow:auto;margin-top:12px;padding:10px 12px;background:var(--white);border:1px solid var(--silver);border-radius:4px}
.chips{display:flex;flex-wrap:wrap;gap:6px;min-height:30px}.chip{font-size:.8rem;padding:2px 9px;border-radius:99px;background:var(--panel);border:1px solid var(--silver)}.chip.ok{background:var(--green);color:#fff;border-color:var(--green)}
.seg{display:flex;height:42px;border:1px solid var(--silver);border-radius:4px;overflow:hidden;background:var(--white)}
.seg span{display:block;height:100%;transition:width .35s}
.barrow{margin-top:14px}.barrow small{display:block;color:var(--soft);font-size:.88rem;margin-bottom:6px}
.tblw{overflow-x:auto;margin-top:18px}
table.tbl{width:100%;border-collapse:collapse;font-size:.95rem;background:var(--white)}
.tbl th,.tbl td{text-align:left;padding:10px 14px;border:1px solid var(--silver);vertical-align:top}
.tbl th{background:var(--panel);font-family:var(--head)}
.xai svg{width:100%;height:auto;display:block;border:1px solid var(--silver);border-radius:4px;background:#fff}
.vote{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 6px}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;margin-top:22px}
.opt{border:1px solid var(--silver);border-radius:6px;background:var(--paper);padding:18px}.opt h3{font-size:1.05rem;margin-bottom:6px}.opt p{font-size:.95rem;color:var(--soft)}
@media (max-width:820px){.split{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.seg span{transition:none}}
