/* Restraint around the instruments; decoration never encodes physical data. */
.course-coverage{border:1px solid #d4dfe7;border-radius:10px;background:#fff;margin:18px 0 22px;color:#263c4d;overflow:hidden}
.course-coverage>summary{display:flex;align-items:center;gap:16px;padding:16px 20px;cursor:pointer;list-style:none;background:linear-gradient(100deg,#eaf0f5,#f9f9f5)}
.course-coverage>summary::before{content:'+';font:22px/1.2 Consolas,monospace;color:#a26d37}
.course-coverage[open]>summary::before{content:'−'}
.course-coverage>summary>span{font-size:17px;font-weight:700}.course-coverage>summary>strong{font-size:17px;color:#476782}.course-coverage>summary>small{margin-left:auto;font-size:13px;color:#687f90}
.coverage-note{font-size:14px;line-height:1.8;padding:0 20px;margin:16px 0;color:#5a6d7e}
.coverage-table-scroll{max-width:100%;overflow:auto}.course-coverage table{min-width:680px;border-collapse:collapse;width:100%;font-size:14px;white-space:normal}.course-coverage th,.course-coverage td{padding:13px 20px;border-top:1px solid #e1e8ee;vertical-align:top;text-align:left}.course-coverage thead th{font-size:13px;background:#f7f9fa;color:#657b8d}.course-coverage tbody th{width:27%;font-size:14px;font-weight:600}.course-coverage tbody td:nth-child(2){white-space:nowrap;width:100px}.course-coverage td a{display:inline-block;margin:0 14px 5px 0;text-decoration:underline;text-underline-offset:3px;color:#315b7b}.coverage-pending{color:#8b9196}
.apparatus-paper{background:linear-gradient(145deg,#fff 0,#fff 75%,#f6f8fa 100%);box-shadow:0 9px 28px #263f5310}
.apparatus{border-color:#cedbe4;background:#edf2f5;box-shadow:inset 0 2px 9px #344f640d}
.apparatus-topline{border-bottom:1px solid #e3e9ed;padding-bottom:13px}.apparatus-topline .eyebrow{color:#a16c36}
.apparatus-topline .status{border:1px solid #dbe3e9;background:#f6f8fa;border-radius:20px;padding:5px 11px;white-space:normal;text-align:center}
.operation-checklist{background:#f1f5f8;border:1px solid #e1e8ed;padding:11px 13px;border-radius:7px;gap:10px 18px}
.observation-control{display:flex;align-items:center;gap:6px;font-size:13px;color:#637d91;font-weight:400}.observation-control select{font-size:13px;padding:7px 9px;margin:0;width:auto}
.run-toolbar{padding-bottom:12px;border-bottom:1px solid #e4e9ed}.readings{background:#fff;gap:8px;border:0;overflow:visible;grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}
.reading{border:1px solid #dce5ec;background:linear-gradient(150deg,#f9fbfc,#edf2f6);border-radius:8px;padding:12px 13px;min-width:0}
.reading>span{line-height:1.6;min-height:22px;color:#5e7385}.reading strong{font-variant-numeric:tabular-nums;font-feature-settings:'tnum';font-size:23px}.reading small{overflow-wrap:anywhere}
.controls-paper{border-top:3px solid #526f86;background:#fcfdfd}.control input[type=number]:focus,.control select:focus{border-color:#6e8ca2;outline:3px solid #e8eef3}
.control input[type=range]{accent-color:#ac7b41}.save-toolbar{padding-top:3px}.analysis-paper{border-top:3px solid #b68b58}.chart svg text{font-family:'Microsoft YaHei','PingFang SC',sans-serif}
.fit-summary{background:#f7f9fb;padding:14px;border:1px solid #e0e7ed;border-radius:7px}.comparison{border-left-color:#69849a;background:#f1f5f8}
.paper,.panel{min-width:0}.assistant-paper .chat-log{scrollbar-width:thin}.bubble{line-height:1.85}.shell{max-width:1220px}
@media(min-width:1100px){.lab-layout{grid-template-columns:minmax(0,1fr) 280px}.design-layout{grid-template-columns:minmax(0,1fr) 365px}}
@media(max-width:560px){.course-coverage>summary{padding:14px;flex-wrap:wrap;gap:8px 12px}.course-coverage>summary>small{width:100%;margin-left:28px}.coverage-note{padding:0 14px;font-size:13px}.course-coverage th,.course-coverage td{padding:11px 14px}.readings{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.reading{padding:10px}.reading strong{font-size:21px}.reading>span{font-size:13px}.readings .reading:nth-child(n+4){border-top:1px solid #dce5ec}.observation-control{width:100%;justify-content:space-between}.observation-control select{min-width:150px}.run-toolbar .speed-control{margin-left:0}.run-toolbar>span{width:100%;margin-left:0}.apparatus-topline{align-items:start}.apparatus-topline .status{max-width:130px}.shell{padding-inline:12px}}

/* Keep an explicit file link available when a browser blocks automatic downloads. */
.prepared-download{position:fixed;z-index:30;right:18px;bottom:18px;width:420px;max-width:calc(100vw - 28px);padding:15px 17px;background:#fff;border:1px solid #b9cad7;border-top:3px solid #9c7445;border-radius:9px;box-shadow:0 7px 30px #1c32492b;color:#253649;font-size:14px;line-height:1.7;overflow-wrap:anywhere}.prepared-download p{margin:0 0 6px}.prepared-download a{display:block;color:#315b7b;text-decoration:underline;text-underline-offset:3px}.prepared-download button{display:block;margin:9px 0 0 auto;padding:5px 12px;border:1px solid #c5cfd6;background:#f4f7f9;border-radius:5px;font-size:13px}
