:root{--font-sans:Arial, Helvetica, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--font-serif:Georgia, "Times New Roman", serif;--page:#f4f6f2;--surface:#fff;--surface-muted:#eff5ee;--surface-sunken:#f4f7f2;--rail:#f0f4f0;--foreground:#213b3e;--foreground-soft:#46615e;--muted-foreground:#68807e;--border:#dce5e2;--border-strong:#cbdad3;--primary:#157b70;--primary-strong:#10655c;--primary-foreground:#fff;--primary-soft:#e5f1eb;--brandmark-bg:#213b3e;--brandmark-fg:#b4e0c6;--destructive:#b34a32;--destructive-soft:#fbede7;--warning:#805e16;--warning-soft:#fff3d8;--success:#1b6a45;--success-soft:#e8f3ec;--radius-sm:6px;--radius:8px;--radius-lg:12px;--radius-pill:20px;--shadow-sm:0 1px 4px #223b3c12;--shadow-pop:0 8px 25px #263e3a24;--control-font:12px;--control-pad-y:7px;--control-pad-x:11px;--label-font:11px;--background:var(--surface);--muted:#edf3f0;color:var(--foreground);background:var(--page);font-family:var(--font-sans);font-synthesis:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--foreground);background:var(--page);margin:0}a{color:var(--primary)}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible,canvas:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.ui-scroll,.sidebar-content,.panel-content{scrollbar-width:thin;scrollbar-color:#bbcec3 transparent;overscroll-behavior:contain}button,.btn{padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground-soft);font:inherit;font-size:var(--control-font);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:6px;line-height:1.35;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-flex}button:hover,.btn:hover{background:var(--surface-muted);border-color:var(--border-strong)}button:active,.btn:active{transform:translateY(1px)}button:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:default;transform:none}button:disabled:hover{background:var(--surface);border-color:var(--border)}.primary,.btn-primary,button.armed{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}.primary:hover,.btn-primary:hover,button.armed:hover{background:var(--primary-strong);border-color:var(--primary-strong);color:var(--primary-foreground)}.subtle,.btn-ghost{color:var(--muted-foreground)}.danger,.btn-danger{color:var(--destructive)}.danger:hover,.btn-danger:hover{background:var(--destructive-soft);border-color:var(--destructive)}button[aria-pressed=true],button[aria-selected=true],button.active,button.on{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}nav.segmented,.tabs,.inspector-tabs,.view-tabs{gap:5px;display:flex}nav.segmented{background:var(--rail);border-radius:9px;padding:5px}nav.segmented button{border-radius:var(--radius-sm);color:var(--muted-foreground);background:0 0;border:0;padding:9px 17px}nav.segmented button:hover{background:#fff9}nav.segmented button.active,nav.segmented button[aria-selected=true]{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.tabs button,.tabs .tab,.inspector-tabs button,.view-tabs button{font-size:var(--label-font);padding:7px 11px}.tabs .tab.active,.tabs button.active,.inspector-tabs button[aria-selected=true],.view-tabs button.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary);font-weight:700}select,input[type=text],input[type=number],input[type=search],textarea{width:100%;min-width:0;padding:var(--control-pad-y) 9px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground);font:inherit;font-size:var(--control-font)}input[type=number],.num,.tabular{font-variant-numeric:tabular-nums}textarea{font-family:var(--font-mono);resize:vertical;line-height:1.5}select:disabled,input:disabled,textarea:disabled{opacity:.55;cursor:default}::placeholder{color:#93a5a0;opacity:1}select{appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%2368807e' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round' d='M1.5 1.75 6 6.25l4.5-4.5'/%3E%3C/svg%3E");background-position:right 9px center;background-repeat:no-repeat;background-size:10px 7px;padding-right:26px}select::-ms-expand{display:none}input[type=range]{width:100%;accent-color:var(--primary)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}label{font-size:var(--label-font);color:var(--foreground-soft)}.field{margin-bottom:13px;display:block}.field>span{font-size:var(--label-font);color:var(--foreground-soft);justify-content:space-between;gap:8px;margin-bottom:6px;display:flex}.field small{color:#83918c}.check{font-size:var(--control-font);color:var(--foreground-soft);align-items:center;gap:8px;margin:12px 0;display:flex}.check input{flex-shrink:0;width:14px;height:14px;margin:0}.import input[type=file]{display:none}.app-shell{flex-direction:column;height:100dvh;display:flex;overflow:hidden}header{background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;display:flex}.brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.brandmark{background:var(--brandmark-bg);color:var(--brandmark-fg);border-radius:9px;justify-content:center;align-items:center;padding:8px;font-size:21px;line-height:1;display:inline-flex}.brand h1{letter-spacing:-.7px;margin:0;font-size:21px}.brand p{letter-spacing:2px;text-transform:uppercase;color:var(--muted-foreground);margin:4px 0 0;font-size:10px}.header-link{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--primary);font-size:var(--control-font);align-items:center;gap:7px;padding:8px 11px;text-decoration:none;display:inline-flex}.header-link:hover{background:var(--surface-muted)}.pill,.tag{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);letter-spacing:1px;color:var(--muted-foreground);white-space:nowrap;padding:6px 11px;font-size:10px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);min-width:0;min-height:0;overflow:hidden}.panel-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:11px 14px;display:flex}.panel-head h2,.panel-head h3{align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.panel-content{padding:14px}.number,.panel-head h2>span:first-child{color:var(--muted-foreground);font-size:10px}.section-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--muted-foreground);margin:18px 0 10px;font-size:10px}.eyebrow{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted-foreground);font-size:10px;font-weight:700}.divider{background:var(--border);height:1px;margin:12px 0}.metrics{gap:8px;display:flex}.metric,.metrics>div{flex:1;min-width:0}.metric{border-radius:var(--radius-sm);background:var(--surface-sunken);padding:10px 12px}.metrics small,.metric small{letter-spacing:.7px;color:var(--muted-foreground);font-size:10px}.metrics strong,.metric b{font-variant-numeric:tabular-nums;margin-top:5px;font-size:16px;font-weight:500;display:block}.help,.hint{font-size:var(--control-font);color:var(--muted-foreground);line-height:1.6}.callout{border-radius:var(--radius);background:var(--surface-muted);font-size:var(--control-font);margin-top:14px;padding:13px;line-height:1.6}.callout strong{color:var(--primary)}.status{background:var(--surface-muted);font-size:var(--control-font);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.status.ok{background:var(--success-soft);color:var(--success)}.status.warn,.status.on{background:var(--warning-soft);color:var(--warning)}.status.bad,.status.outside{background:var(--destructive-soft);color:var(--destructive)}.error{border-radius:var(--radius-sm);background:var(--destructive-soft);color:var(--destructive);font-size:var(--control-font);padding:12px}.legend{color:var(--muted-foreground);gap:10px;font-size:10px;display:flex}.dot,.live-dot{background:var(--primary);border-radius:50%;width:7px;height:7px;margin-right:5px;display:inline-block}.mini-table{border-collapse:collapse;width:100%;font-size:11px}.mini-table th,.mini-table td{border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums;padding:8px 5px}.mini-table th{color:var(--muted-foreground);font-weight:600}.mini-table th:first-child,.mini-table td:first-child{text-align:left}footer,.footer{border-top:1px solid var(--border);color:var(--muted-foreground);justify-content:space-between;gap:20px;padding:8px 18px;font-size:10px;display:flex}footer p{margin:0}footer a,.footer a{color:var(--primary)}.app-menu{font-size:var(--control-font);margin:0;position:relative}.app-menu>summary{padding:var(--control-pad-y) var(--control-pad-x);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--foreground-soft);cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.app-menu>summary::-webkit-details-marker{display:none}.app-menu nav{z-index:5;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:190px;box-shadow:var(--shadow-pop);padding:6px;position:absolute;top:calc(100% + 7px);right:0}.app-menu nav button{text-align:left;border:0;justify-content:flex-start;width:100%;display:block}dialog{border:1px solid var(--border);background:var(--surface);width:calc(100% - 32px);max-width:580px;max-height:85dvh;color:var(--foreground);border-radius:14px;padding:24px;overflow:auto}dialog::backdrop{background:#18342c70}.dialog-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.dialog-heading h2{margin:0;font-size:20px}dialog h1{letter-spacing:-1px;margin:14px 0;font-size:28px;font-weight:650}dialog p{color:var(--muted-foreground);font-size:13px;line-height:1.6}dialog a{color:var(--primary)}details>summary{cursor:pointer}:root{--control-font:11px;--label-font:11px;--control-pad-y:7px;--control-pad-x:8px;--side-width:clamp(180px, 16vw, 250px);--dock-height:174px;font-size:13px}label{margin:9px 0;display:block}select,input[type=number]{margin-top:5px;display:block}.panel h2{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;margin:0 0 10px;padding-bottom:9px;font-size:13px;line-height:1.4;display:flex}.panel h2>span:first-child{color:var(--muted-foreground);font-size:10px}.metrics{gap:12px;padding:9px 12px}.legend{flex-direction:column;gap:9px;margin-top:15px}.import{width:100%;margin:6px 0}html,body{width:100%;height:100%;margin:0;overflow:hidden}#app{grid-template-rows:54px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}header{padding:0 18px}.header-actions{align-items:center;gap:14px;display:flex}.workspace{grid-template-columns:var(--side-width) minmax(0, 1fr) var(--side-width);grid-template-rows:minmax(0, 1fr) var(--dock-height);gap:10px;min-width:0;min-height:0;padding:10px;display:grid;overflow:hidden}.build-panel{grid-area:1/1}.scene-panel{grid-area:1/2;grid-template-rows:38px minmax(0,1fr) auto auto;display:grid}.observe-panel{grid-area:1/3}.sidebar{flex-direction:column;padding:12px;display:flex}.sidebar-content{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bbcec3 transparent;min-height:0;padding:0 3px 2px 0;overflow:auto}output{float:right;color:var(--primary);font-size:10px}.pair{gap:6px;display:flex}.abq-thicknesses{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:260px;display:grid;overflow-y:auto}.pair label{width:50%}.pair button{flex:1;min-width:0}.panel button{width:100%;margin:3px 0}.scene-heading{color:var(--muted-foreground);justify-content:space-between;align-items:center;gap:6px;padding:10px 12px;font-size:11px;display:flex}.canvas-wrap{background:#f1f5f0;min-width:0;min-height:0;position:relative;overflow:hidden}canvas{touch-action:none;width:100%;height:100%;display:block}.scene-note{pointer-events:none;letter-spacing:1px;color:var(--muted-foreground);font-size:8px;position:absolute;top:12px;left:12px}#toast{background:var(--primary-strong);color:#fff;border-radius:7px;width:max-content;max-width:90%;padding:8px 12px;font-size:11px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}#toast:empty{display:none}.transport{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:6px;padding:9px 10px;display:flex}#status{color:var(--primary);margin-left:auto;font-size:10px}.scenario-description{color:var(--muted-foreground);margin:7px 0 10px;font-size:10px;line-height:1.4}.force-scale{background:linear-gradient(90deg,#53b9a8,#b7bb51,#d9653c);border-radius:3px;height:5px;margin-top:12px}.scale-label{color:var(--muted-foreground);justify-content:space-between;margin-top:5px;font-size:9px;display:flex}.legend i{vertical-align:middle;width:15px;height:3px;margin-right:6px;display:inline-block}.import input{display:none}.bottom-dock{grid-area:2/1/auto/-1;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:10px;min-width:0;min-height:0;display:grid;overflow:hidden}.bottom-dock>.panel{flex-direction:column;padding:10px 12px;display:flex}.bottom-dock h2{margin-bottom:7px;font-size:12px}.experiment-fields{overscroll-behavior:contain;scrollbar-width:thin;grid-template-columns:minmax(130px,1.4fr) repeat(3,minmax(80px,1fr)) minmax(130px,1.3fr);gap:12px;min-height:0;display:grid;overflow:auto}.experiment-fields label{margin:0 0 5px;font-size:10px}.experiment-fields output{float:none;min-height:12px;margin-top:3px;display:block}.boundary-toggles{gap:12px;display:flex}.boundary-toggles .check{margin:8px 0 0;font-size:10px}.selected-fields{overscroll-behavior:contain;scrollbar-width:thin;flex:1;grid-template-columns:minmax(0,1fr) minmax(145px,.9fr);gap:12px;min-height:0;display:grid;overflow:auto}.selection{color:var(--muted-foreground);scrollbar-width:thin;overscroll-behavior:contain;min-height:0;padding-right:3px;font-size:10px;line-height:1.4;overflow:auto}.selection strong{color:var(--primary);font-size:11px}.selection dl{grid-template-columns:1fr auto;gap:5px;margin:7px 0;font-size:10px;display:grid}.selection dd{color:var(--foreground-soft);font-variant-numeric:tabular-nums;margin:0}.selection p{margin:5px 0}.load-controls label{margin:0 0 4px;font-size:10px}.load-controls button{padding:6px;font-size:10px}.close-dialog{padding:7px 10px}@media (width<=1300px){:root{--side-width:190px;--dock-height:205px}.experiment-fields{grid-template-columns:minmax(110px,1.2fr) repeat(2,minmax(85px,1fr));gap:8px}.selected-fields{grid-template-columns:minmax(0,1fr) 145px;gap:8px}}@media (width<=900px){:root{--side-width:155px;--dock-height:210px}.workspace{gap:7px;padding:7px}.sidebar{padding:9px}.bottom-dock{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:7px}.bottom-dock>.panel{padding:9px}.experiment-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.selected-fields{grid-template-columns:minmax(0,1fr) 130px;gap:7px}.tag{display:none}.transport button{padding:6px;font-size:10px}#status{width:100%;margin:0}.metrics{gap:5px;padding:7px}.metrics small{letter-spacing:0;font-size:7px}.metrics strong{font-size:15px}.scenario-description{font-size:9px}}@media (width<=600px){:root{--side-width:105px;--dock-height:235px}#app{grid-template-rows:50px minmax(0,1fr)}header{padding:0 10px}.workspace{gap:4px;padding:4px}.sidebar{padding:6px}.panel h2{gap:4px;margin-bottom:8px;font-size:10px}h2 span{padding:4px;font-size:8px}.sidebar label{font-size:9px}.sidebar select,.sidebar input[type=number]{padding:5px 3px;font-size:9px}.sidebar button,.sidebar .import{padding:6px 3px;font-size:9px;line-height:1.3}.sidebar .pair{flex-wrap:wrap;gap:0}.sidebar .pair label{width:100%;margin:5px 0}.sidebar .check{align-items:flex-start;font-size:9px;line-height:1.3}.sidebar output{float:none;margin-top:3px;font-size:9px;display:block}.sidebar .legend{gap:7px;font-size:9px}.scale-label{gap:4px;font-size:8px}.scene-heading{flex-wrap:wrap;padding:7px 5px;font-size:9px;line-height:1.1}.scene-panel{grid-template-rows:40px minmax(0,1fr) auto auto}.scene-note{letter-spacing:0;font-size:6px;top:7px;left:4px}.transport{gap:4px;padding:5px}.transport button{width:100%;padding:5px;font-size:9px}#status{font-size:8px;line-height:1.3}.metrics{flex-wrap:wrap;gap:4px;padding:5px}.metrics>div{flex:40%}.metrics small{font-size:6px}.metrics strong{font-size:12px}.bottom-dock{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:4px}.bottom-dock>.panel{padding:6px}.bottom-dock h2{font-size:10px}.experiment-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.experiment-fields label,.load-controls label{font-size:9px}.experiment-fields select,.load-controls input{padding:5px 3px;font-size:9px}.experiment-fields output{font-size:9px}.boundary-toggles{flex-wrap:wrap;gap:4px}.boundary-toggles .check{gap:3px;font-size:9px}.experiment-fields button{padding:5px 3px;font-size:9px}.shake-field{grid-column:1/-1}.selected-fields{grid-template-columns:1fr;gap:6px}.selection{max-height:62px;font-size:9px}.selection strong,.selection dl,.load-controls button{font-size:9px}.load-controls input{margin-top:3px}.scenario-description{display:none}}@media (height<=600px) and (width>=601px){:root{--dock-height:155px}.experiment-fields{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.sidebar label{margin:6px 0}.sidebar button{padding:5px}.bottom-dock h2{margin-bottom:5px}.selected-fields{grid-template-columns:minmax(0,1fr) 130px}}.scenario-description{display:none}.build-panel label{margin:6px 0}.build-panel select,.build-panel input[type=number]{margin-top:4px;padding:6px}.build-panel button{padding:6px;line-height:1.25}.build-panel .divider{margin:8px 0}.experiment-fields output{float:right;min-height:0;margin-top:0;font-size:9px;display:inline}.experiment-fields input[type=range]{margin-top:6px}@media (width<=600px){.build-panel select,.build-panel input[type=number]{padding:5px 3px}.build-panel button{padding:6px 3px}.experiment-fields output{float:none;margin-top:2px;display:block}}.experiment-fields .pair button{margin:1px 0;padding:6px}.photo-tools{margin-top:10px;font-size:11px}.photo-tools>summary{cursor:pointer;color:var(--primary);padding:5px 0;font-weight:600}.photo-tools .hint{margin:8px 0;font-size:9px}.photo-tools .check{font-size:10px}.photo-tools input[type=file]{display:none}@media (width<=600px){.brand{gap:6px}.brandmark{padding:5px;font-size:16px}.brand h1{font-size:16px}.brand p{letter-spacing:1.4px;font-size:8px}.app-menu>summary{gap:8px;padding:6px 8px}}@media (width<=380px){.brand h1{font-size:14px}.brand p{display:none}.header-actions{gap:5px}header{padding:0 6px}}.workspace{grid-template-rows:minmax(0,1fr)}.scene-panel{grid-template-rows:38px minmax(0,1fr) auto auto}.inspector-tabs{flex-shrink:0;gap:3px;margin-bottom:10px;display:flex}.inspector-tabs button{flex:1;min-width:0;padding:7px 2px;font-size:11px}#tab-block .selected-fields{flex-direction:column;display:flex}#tab-block .selection{max-height:none;overflow:visible}#tab-block .load-controls{margin-top:12px}#blockDiagram{background:#f8faf7;border-radius:8px;width:100%;height:290px}#experimentPanel{border:0;border-top:1px solid var(--border);border-radius:0;max-height:180px;padding:9px 10px;overflow:auto}#experimentPanel h2{display:none}.experiment-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.transport .metrics{gap:10px;margin-left:auto;padding:0}.transport .metrics small{letter-spacing:0;white-space:nowrap;font-size:7px}.transport .metrics strong{margin-top:0;font-size:13px}#status{flex-basis:100%;margin:0}.group-row{border-bottom:1px solid var(--border);padding:8px 0}.group-row label{margin:0}.group-row small{color:var(--muted-foreground);font-size:10px}.group-dot{border-radius:50%;width:9px;height:9px;margin-right:5px;display:inline-block}.legend .check{margin:8px 0;font-size:10px}#boundarySummary{line-height:1.6}#groupName{width:100%}@media (width>=1000px){.workspace{grid-template-columns:var(--side-width) minmax(0, 1fr) 270px}}@media (width<=600px){.workspace{grid-template-rows:minmax(0,1fr);grid-template-columns:90px minmax(0,1fr) 110px}.inspector-tabs{flex-wrap:wrap;gap:1px}.inspector-tabs button{flex-basis:100%;padding:4px;font-size:9px}.experiment-fields{grid-template-columns:repeat(2,minmax(0,1fr))}#experimentPanel{max-height:180px;padding:5px}.transport{padding:5px}.transport .metrics{flex-wrap:wrap;gap:3px;width:100%}.transport .metrics>div{flex:30%}.transport .metrics small{white-space:normal;font-size:6px}#tab-block .selection{max-height:none}.legend .check{flex-wrap:wrap;font-size:8px}}.transport .metrics>div{flex:none;padding-left:6px}.transport .metrics{gap:8px}#tab-block .load-controls{flex-shrink:0}@media (width<=600px){.transport .metrics>div{flex:28%;padding-left:0}}.block-force-list{color:var(--foreground-soft);margin-top:10px;font-size:10px;line-height:1.5}.block-force-list p{margin:6px 0}.load-gray-scale{border:1px solid var(--border);background:linear-gradient(90deg,#f8f8f8,#212121);border-radius:5px;height:8px}.load-color-controls{margin-bottom:10px}.load-color-controls .hint{font-size:9px;line-height:1.5}.joint-tools{margin:7px 0;font-size:10px}.joint-tools summary{color:var(--primary);cursor:pointer;padding:5px 0;font-weight:600}.joint-tools .hint{font-size:9px;line-height:1.5}.analysis-block h3{color:var(--primary);margin:2px 0 8px;font-size:11px}.analysis-block .hint,.stone-detect .hint{font-size:9px;line-height:1.5}.equilibrium-report dl{color:var(--muted-foreground);grid-template-columns:1fr auto;gap:4px 8px;margin:0 0 6px;font-size:10px;display:grid}.equilibrium-report dd{color:var(--foreground-soft);font-variant-numeric:tabular-nums;text-align:right;margin:0}.equilibrium-report dd.good,.analysis-results .good{color:var(--success);font-weight:600}.equilibrium-report dd.bad,.analysis-results .bad{color:var(--destructive);font-weight:600}.analysis-results table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin:8px 0 4px;font-size:10px}.analysis-results th,.analysis-results td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:4px 3px}.analysis-results th{color:var(--muted-foreground);font-weight:600}.analysis-results td small{color:var(--muted-foreground);display:block}#collapseCurve{border:1px solid var(--border);border-radius:var(--radius-sm);background:#f8faf7;width:100%;height:170px;margin:6px 0}#collapseCurve[hidden]{display:none}#tab-analysis button:disabled{opacity:.55}.stone-detect{border-top:1px solid var(--border);margin:10px 0;padding-top:8px;font-size:10px}.stone-detect strong{color:var(--primary);margin-bottom:6px;display:block}[hidden]{display:none!important}.scene-panel.analysis-active{grid-template-rows:38px minmax(130px,1fr) minmax(250px,.85fr) auto auto}.scene-panel.foundation-active,.scene-panel.graphs-expanded{grid-template-rows:38px minmax(0,1fr)}.scene-panel.foundation-active>.canvas-wrap,.scene-panel.foundation-active>.transport,.scene-panel.foundation-active>#experimentPanel,.scene-panel.graphs-expanded>.canvas-wrap,.scene-panel.graphs-expanded>.transport,.scene-panel.graphs-expanded>#experimentPanel{display:none}#analysisStage{border-top:1px solid var(--border);background:#f8faf7;flex-direction:column;min-width:0;min-height:0;padding:10px 12px;display:flex;overflow:auto}.analysis-stage-heading{color:var(--primary);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.analysis-stage-heading button{padding:5px 9px}#mechanismGraphs{flex:1;min-height:220px;position:relative}#collapseCurve{border:0;height:100%;min-height:220px;margin:0}#curveEmpty{padding:22px;line-height:1.6}#foundationGraphs{min-width:0}.foundation-summary{color:var(--primary);padding:10px 0;font-size:12px;line-height:1.6}#foundationSketch{height:180px}.foundation-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.foundation-charts figure{border:1px solid var(--border);border-radius:6px;min-width:0;margin:0;padding:10px}.foundation-charts figcaption{color:var(--primary);font-size:11px;font-weight:600}.foundation-charts canvas{height:230px}.foundation-note{line-height:1.6}#coupledGraphs{padding-top:10px}#coupledControls .hint{font-size:10px;line-height:1.6}#foundationControls h3{color:var(--primary);font-size:12px}#foundationControls .hint{font-size:10px;line-height:1.5}.foundation-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 10px;display:grid}@media (width>=1100px){.workspace.analysis-active{grid-template-columns:var(--side-width) minmax(0, 1fr) 310px}}@media (width<=1099px){.foundation-charts,.foundation-fields{grid-template-columns:1fr}}@media (height<=700px){.scene-panel.analysis-active:not(.foundation-active):not(.graphs-expanded){grid-template-rows:30px minmax(80px,1fr) minmax(180px,1fr) auto}.scene-panel.analysis-active>#experimentPanel{display:none}}@media (width<=700px){.workspace.analysis-active{grid-template-columns:minmax(0,1fr) 160px}.workspace.analysis-active>.build-panel{display:none}.workspace.analysis-active>.scene-panel{grid-column:1}.workspace.analysis-active>.observe-panel{grid-column:2}.analysis-stage-heading{flex-wrap:wrap;font-size:10px}#analysisStage{padding:7px}.foundation-charts figure{padding:4px}.foundation-charts canvas{height:220px}.foundation-summary{font-size:10px}}
