.ll-page-intro { padding-block:32px 22px!important; }
.ll-page-intro h1 { max-width:none; font-size:clamp(1.75rem,3vw,2.6rem); letter-spacing:-.035em; }
.ll-page-intro .lead { font-size:1rem; margin-block-start:10px; max-width:none; color:#656563; }
.line-lab { --ll-coral:#e75037; --ll-teal:#226e69; --ll-cream:#f7f4ed; }
.ll-workbench { background:var(--ll-cream); border:1px solid #e8e4dc; border-radius:28px; overflow:hidden; }
.ll-topline { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:20px 28px 8px; font-size:.875rem; color:#76736c; }
.ll-pill { color:#325c53; background:#e5ece1; display:flex; align-items:center; gap:8px; border-radius:99px; padding:7px 12px; font-weight:650; }
.ll-pill i { width:7px; height:7px; background:#487d52; border-radius:50%; }
.ll-timeline { display:flex; list-style:none; gap:4px; padding:16px 22px 4px; margin:0; }
.ll-timeline li { flex:1; min-width:0; position:relative; }
.ll-timeline li:not(:last-child)::after { content:''; height:1px; background:#d7d5ca; position:absolute; left:-20%; right:60%; top:20px; }
.ll-timeline button { appearance:none; border:0; padding:0 4px 8px; background:none; width:100%; display:flex; flex-direction:column; align-items:center; gap:8px; font:inherit; font-size:.875rem; color:#76736e; line-height:1.7; cursor:pointer; border-radius:12px; }
.ll-step-number { display:grid; place-items:center; font-size:.875rem; font-weight:700; width:38px; height:38px; background:#edeae1; border:1px solid #dfddd3; border-radius:50%; z-index:1; }
.ll-timeline [data-state="current"] button { color:#ad351f; font-weight:700; }
.ll-timeline [data-state="current"] .ll-step-number { color:#fff; background:#be3c27; border-color:#be3c27; box-shadow:0 0 0 5px #e7503712; }
.ll-timeline [data-state="done"] button { color:#246a54; }
.ll-timeline [data-state="done"] .ll-step-number { color:#fff; background:#387b61; border-color:#387b61; }
.ll-scene-wrap { position:relative; padding-top:6px; overflow:hidden; }
.ll-scene { width:100%; height:auto; display:block; overflow:visible; }
.ll-bean-status { position:absolute; right:28px; top:14px; display:flex; align-items:center; gap:10px; pointer-events:none; }
.ll-color-dot { width:34px; height:34px; border-radius:50%; border:6px solid #fff; box-shadow:0 2px 12px #29271c14; }
.ll-bean-status small { color:#757268; font-size:.75rem; display:block; margin-bottom:2px; }
.ll-bean-status strong { font-size:.875rem; font-weight:650; }
.ll-stage-status { position:absolute; left:28px; top:18px; font-size:.875rem; color:#655f54; text-align:left; }
.ll-controls { display:grid; grid-template-columns:1fr minmax(280px,370px); gap:24px; align-items:center; padding:25px 30px 28px; background:#1d3033; color:#fff; position:relative; margin:0 18px; border-radius:20px; overflow:hidden; }
.ll-eyebrow { font-size:.8rem; color:#a9c6be; }
.ll-action-copy h2 { font-size:1.4rem; margin:6px 0 8px; }
.ll-action-copy p { font-size:.9375rem; color:#c4d0cf; margin:0; line-height:1.9; }
.ll-main-action { width:100%; border:1px solid #f79c6d; background:#ffb68b; color:#39271f; min-height:58px; display:flex; justify-content:space-between; gap:16px; align-items:center; border-radius:13px; padding:13px 18px; font:inherit; font-weight:750; font-size:1rem; cursor:pointer; transition:background .15s,transform .15s; }
.ll-main-action:hover { background:#ffc69f; transform:translateY(-1px); }
.ll-main-action>span:last-child { font:400 24px/1 system-ui; }
.ll-secondary-controls { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:13px; font-size:.875rem; }
.ll-secondary-controls button { font:inherit; border:0; padding:4px 0; color:#d3e0dc; background:transparent; cursor:pointer; }
.ll-secondary-controls button:disabled { opacity:.42; cursor:default; }
.ll-secondary-controls label { display:flex; align-items:center; gap:8px; color:#c4d0cf; }
.ll-secondary-controls select { font:inherit; padding:5px 8px; border:1px solid #627573; color:#fff; background:#293e40; border-radius:8px; }
.ll-progress { position:absolute; bottom:0; left:0; right:0; height:4px; background:#344b4b; direction:rtl; }
.ll-progress span { height:100%; display:block; background:#ffb68b; }
.ll-instruction { text-align:center; font-size:.875rem; color:#6d6961; padding:12px 18px 15px; margin:0; }
.ll-details-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px; align-items:start; }
.ll-settings,.ll-info { background:#f4f5f3; border:1px solid #e9ebe6; border-radius:20px; }
.ll-settings summary { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; padding:22px; cursor:pointer; font-weight:650; }
.ll-summary-note { font-size:.875rem; color:#777b72; font-weight:400; }
.ll-settings-content { padding:4px 22px 22px; }
.ll-field-label { font-size:.875rem; margin-bottom:8px; }
.ll-settings .ld-optional { padding:0; background:none; margin-bottom:12px; }
.ll-settings .ld-optional .filter-label { flex-basis:100%; }
.ll-settings .ld-scenario { min-width:0; width:100%; }
.ll-info { padding:22px; }
.ll-info-label { color:#6d786d; font-size:.8125rem; }
.ll-info h3 { margin:5px 0 10px; font-size:1.1rem; }
.ll-info p { font-size:1rem; line-height:1.9; margin:0 0 12px; }
.ll-info .ll-automation { color:#59685e; font-size:.875rem; }
.ll-side-links { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.ll-side-links button { background:#fff; border:1px solid #dedfd8; padding:6px 11px; border-radius:99px; font:inherit; font-size:.875rem; cursor:pointer; }
.ll-side-links button[aria-pressed="true"] { background:#e2ebe3; border-color:#5e7c68; }
.line-lab button:focus-visible,.line-lab summary:focus-visible,.line-lab select:focus-visible { outline:3px solid #f47741; outline-offset:4px; }
.ll-settings .select { max-width:100%; }
@media(min-width:1400px) { .ll-scene-wrap { max-height:560px; } .ll-scene { max-height:560px; } }
@media(max-width:900px) { .ll-timeline { flex-wrap:wrap; row-gap:8px; } .ll-timeline li { flex:1 0 20%; } .ll-timeline li::after { display:none; } .ll-controls { grid-template-columns:1fr 1fr; gap:16px; padding:20px; } .ll-topline { padding-inline:20px; } .ll-scene-wrap { padding-top:30px; } }
@media(max-width:600px) {
  .ll-page-intro { padding-top:24px!important; } .ll-page-intro .lead { line-height:1.9; }
  .ll-workbench { border-radius:20px; } .ll-topline { align-items:start; padding:14px 12px 0; } .ll-topline>span:last-child { font-size:.75rem; max-width:112px; }
  .ll-timeline { padding:18px 8px 8px; } .ll-timeline li { flex:1 0 22%; } .ll-timeline button { font-size:.8125rem; gap:6px; } .ll-step-number { width:32px; height:32px; }
  .ll-scene-wrap { padding-top:58px; } .ll-scene { width:145%; max-width:none; margin-inline:-22.5%; } .ll-bean-status { right:15px; top:6px; } .ll-stage-status { left:15px; top:12px; max-width:130px; font-size:.8125rem; }
  .ll-controls { grid-template-columns:1fr; margin:0 9px; border-radius:15px; padding:18px; gap:18px; } .ll-action-copy h2 { font-size:1.25rem; } .ll-action-copy p { font-size:.9375rem; } .ll-main-action { min-height:54px; }
  .ll-details-grid { grid-template-columns:1fr; gap:14px; } .ll-instruction { font-size:.8125rem; line-height:1.8; }
  .ll-secondary-controls { gap:8px; font-size:.8125rem; } .ll-settings summary { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .line-lab *, .line-lab *::before { transition:none!important; animation:none!important; } }
.line-lab .ll-scene { font-family:IRANSansX,Tahoma,sans-serif; }
@media(max-width:600px) { .ll-scene { width:100%; margin-inline:0; } }
.ll-stage-layout { display:grid; direction:ltr; grid-template-columns:minmax(0,1fr) 300px; align-items:center; padding:12px 18px 0; gap:10px; }
.ll-stage-layout>* { direction:rtl; }
.ll-stage-layout .ll-controls { grid-template-columns:1fr; margin:0; gap:24px; padding:28px 24px; }
.ll-stage-layout .ll-main-action { font-size:.9375rem; }
.ll-stage-layout .ll-secondary-controls { flex-wrap:wrap; row-gap:14px; }
.ll-stage-layout .ll-scene-wrap { padding-top:48px; max-height:none; }
.ll-stage-layout .ll-scene { max-height:none; }
.ll-stage-layout .ll-bean-status { right:8px; top:6px; }
.ll-stage-layout .ll-stage-status { left:10px; top:12px; }
@media(max-width:1099px) {
  .ll-stage-layout { grid-template-columns:1fr; gap:8px; padding:12px 12px 0; }
  .ll-stage-layout .ll-controls { grid-row:1; grid-template-columns:1fr 1fr; gap:20px; padding:20px; }
  .ll-stage-layout .ll-secondary-controls { flex-wrap:nowrap; }
}
@media(max-width:600px) {
  .ll-stage-layout { padding:8px 8px 0; }
  .ll-stage-layout .ll-controls { grid-template-columns:1fr; gap:18px; padding:18px; }
  .ll-stage-layout .ll-scene-wrap { padding-top:60px; }
}
/* BSC-30 photographic line and independent quality gate */
.ll-quick-options { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding:8px 26px 14px; font-size:.875rem; }
.ll-quick-options>span { color:#77746d; }
.ll-quick-options label { display:flex; align-items:center; gap:7px; cursor:pointer; border:1px solid #d9dfd7; border-radius:99px; padding:7px 11px; background:#fff; }
.ll-quick-options label:has(input:checked) { background:#e2eee3; border-color:#5b8267; }
.ll-quick-options input { accent-color:#397352; width:16px; height:16px; }
.ll-quick-options small { color:#71786e; font-size:.75rem; margin-inline-start:auto; }
.ll-stage-layout { align-items:start; }
.ll-stage-layout .ll-controls { margin-top:50px; position:sticky; top:85px; }
.ll-stage-layout .ll-main-action { white-space:normal; line-height:1.9; }
.ll-quality-panel { display:grid; grid-template-columns:1fr 1fr; gap:30px; padding:26px; margin-top:24px; border:1px solid #d8d0e4; border-radius:23px; background:#f1edf6; scroll-margin-top:100px; }
.ll-quality-panel h2 { font-size:1.3rem; margin:6px 0 12px; }
.ll-quality-panel p { font-size:1rem; line-height:1.9; margin-bottom:12px; }
.ll-quality-panel .ll-info-label { color:#76618d; }
.ll-quality-decision { align-self:center; }
.ll-quality-status { font-weight:650; color:#675478; }
.ll-quality-panel .ll-qc-lock { color:#827889; font-size:.875rem; }
.ll-qc-approve { color:#fff; background:#346e51; border:1px solid #346e51; }
.ll-quality-panel[data-status="approved"] { background:#eaf2eb; border-color:#a9c8ad; }
.ll-quality-panel[data-status="approved"] .ll-quality-status { color:#376c4a; }
.ll-quality-panel[data-status="held"] { background:#f8eee6; border-color:#d7b198; }
.ll-quality-panel[data-status="held"] .ll-quality-status { color:#994b2c; }
.ll-quality-panel:focus-visible { outline:3px solid #a58abc; outline-offset:4px; }
@media(max-width:1099px) { .ll-stage-layout .ll-controls { position:static; margin-top:0; } }
@media(max-width:700px) { .ll-quality-panel { grid-template-columns:1fr; gap:10px; padding:20px; } .ll-quick-options { padding-inline:14px; } .ll-quick-options small { flex-basis:100%; } }
@media(max-width:600px) { .ll-photo-scene { min-height:0; } .ll-quick-options label { font-size:.8125rem; } }
.ll-weight-readouts { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 0; }
.ll-weight-readouts>div { padding:9px 8px; border:1px solid #46615e; border-radius:10px; background:#273e3d; }
.ll-weight-readouts dt { color:#b5cec4; font-size:.8125rem; }
.ll-weight-readouts dd { color:#fff; font-size:.9375rem; font-weight:650; margin:7px 0 0; }
@media(max-width:600px) { .ll-weight-readouts { margin-top:12px; } }
/* Outline scene: stage movement is driven by the simulation clock, including pause. */
.ll-workbench { background:#f5f3eb; }
.ll-stage-layout { grid-template-columns:minmax(0,1fr) 286px; gap:18px; }
.ll-stage-layout .ll-scene-wrap { padding-top:50px; }
.ll-stage-layout .ll-controls { margin-top:52px; }
.ll-stage-layout .ll-outline-scene { width:100%; height:auto; aspect-ratio:256 / 195; border:1px solid #e2e4da; border-radius:18px; overflow:hidden; background:#fcfaf4; }
.ll-view-controls { display:flex; gap:4px; padding:6px; width:fit-content; border:1px solid #dfe3d7; border-radius:12px; background:#fafaf5; margin:0 0 10px; }
.ll-view-controls button { display:flex; align-items:center; gap:8px; font:inherit; font-size:.8125rem; padding:7px 12px; border:0; border-radius:8px; background:transparent; color:#69786c; cursor:pointer; }
.ll-view-controls button[aria-pressed="true"] { color:#2b5141; background:#e2ebda; font-weight:650; }
.ll-view-controls button:hover { color:#23442e; }
.ll-scene-wrap .ll-bean-status { right:6px; }
.ll-instruction { padding-block:17px; }
@media(max-width:1199px) { .ll-stage-layout { grid-template-columns:1fr; } .ll-stage-layout .ll-controls { grid-row:2; position:static; grid-template-columns:1fr 1fr; margin-top:0; gap:26px; } }
@media(max-width:700px) { .ll-stage-layout .ll-outline-scene { aspect-ratio:1 / 1; } .ll-stage-layout .ll-controls { grid-template-columns:1fr; gap:18px; } .ll-stage-layout .ll-scene-wrap { padding-top:66px; } .ll-view-controls { margin-bottom:8px; } .ll-stage-layout .ll-stage-status { max-width:140px; } .ll-quick-options { gap:6px; } }

.ll-canvas-action { display:none; }
@media(max-width:1199px) {
 .ll-canvas-action { display:flex; justify-content:space-between; align-items:center; width:100%; gap:18px; margin-top:10px; padding:15px 18px; min-height:54px; background:#26493d; color:#fff; border:1px solid #26493d; border-radius:13px; font:inherit; font-weight:650; cursor:pointer; }
 .ll-canvas-action:hover { background:#365c49; }
 .ll-stage-layout .ll-main-action { display:none; }
}
