:root{
  --tw-bg:#050817;--tw-sidebar:#080d1d;--tw-panel:#0d1630;--tw-panel2:#101c3c;--tw-line:rgba(158,177,218,.17);
  --tw-text:#f6f8ff;--tw-muted:#98a7c2;--tw-violet:#8c68ff;--tw-cyan:#42ddd0;--tw-blue:#62a3ff;
  --tw-green:#49d596;--tw-amber:#f4be50;--tw-red:#fb7185;--tw-shadow:0 22px 60px rgba(0,0,0,.28);
  --tw-sidebar-w:238px;--tw-rail-w:260px;--tw-header-h:78px;
}
*{box-sizing:border-box}
html{height:100%;overflow:hidden}
body{height:100%;margin:0;min-width:320px;background:var(--tw-bg);color:var(--tw-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
[hidden]{display:none!important}
.tw-loading{height:100%;display:grid;place-content:center;justify-items:center;gap:.65rem;padding:2rem;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(140,104,255,.18),transparent 28rem),var(--tw-bg)}
.tw-loading strong{font-size:.92rem}.tw-loading small{max-width:440px;color:var(--tw-muted);font-size:.68rem;line-height:1.5}
.tw-spinner{width:38px;height:38px;border:3px solid rgba(255,255,255,.1);border-top-color:var(--tw-cyan);border-radius:50%;animation:tw-spin .8s linear infinite}
@keyframes tw-spin{to{transform:rotate(360deg)}}
.tw-app{height:100%;display:grid;grid-template-columns:var(--tw-sidebar-w) minmax(0,1fr) var(--tw-rail-w);overflow:hidden}
.tw-sidebar{height:100%;display:flex;flex-direction:column;border-right:1px solid var(--tw-line);background:linear-gradient(180deg,#080e21,#060a17);overflow-y:auto}
.tw-brand{display:flex;align-items:center;gap:.7rem;min-height:78px;padding:1rem;border-bottom:1px solid var(--tw-line)}
.tw-brand>span{width:39px;height:39px;display:grid;place-items:center;flex:0 0 39px;border-radius:13px;background:linear-gradient(135deg,var(--tw-violet),var(--tw-cyan));box-shadow:0 10px 30px rgba(100,75,230,.25)}
.tw-brand strong,.tw-brand small{display:block}.tw-brand strong{font-size:.82rem}.tw-brand small{margin-top:.12rem;color:var(--tw-muted);font-size:.55rem;font-weight:700}
.tw-programme-select{padding:.85rem;border-bottom:1px solid var(--tw-line)}
.tw-programme-select label{display:block;margin-bottom:.35rem;color:var(--tw-muted);font-size:.56rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}
.tw-programme-select select{width:100%;min-height:40px;padding:.55rem .62rem;border:1px solid var(--tw-line);border-radius:11px;background:#081124;color:var(--tw-text);font-size:.66rem}
.tw-programme-select button{width:100%;min-height:36px;margin-top:.45rem;border:1px dashed rgba(66,221,208,.3);border-radius:10px;background:rgba(66,221,208,.055);color:#b8faf4;font-size:.62rem;font-weight:800}
.tw-nav{display:grid;gap:.2rem;padding:.75rem;flex:1}
.tw-nav button{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:.45rem;min-height:42px;padding:.5rem .55rem;border:1px solid transparent;border-radius:11px;background:transparent;color:#a8b4ca;text-align:left;font-size:.64rem;font-weight:750}
.tw-nav button i{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;color:#8291ad}
.tw-nav button:hover{background:rgba(255,255,255,.04);color:#fff}
.tw-nav button.active{border-color:rgba(140,104,255,.25);background:linear-gradient(135deg,rgba(140,104,255,.18),rgba(66,221,208,.055));color:#fff}
.tw-nav button.active i{background:rgba(140,104,255,.17);color:#c8b9ff}
.tw-sidebar-foot{display:grid;gap:.55rem;padding:.85rem;border-top:1px solid var(--tw-line);color:var(--tw-muted);font-size:.58rem}
.tw-sidebar-foot span{display:flex;align-items:center;gap:.4rem}.tw-sidebar-foot span i{width:7px;height:7px;border-radius:50%;background:var(--tw-amber)}
.tw-sidebar-foot span.ready i{background:var(--tw-green)}.tw-sidebar-foot span.error i{background:var(--tw-red)}
.tw-main{height:100%;display:grid;grid-template-rows:var(--tw-header-h) minmax(0,1fr);min-width:0;overflow:hidden}
.tw-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1.05rem;border-bottom:1px solid var(--tw-line);background:rgba(7,12,28,.92);backdrop-filter:blur(18px)}
.tw-menu-button{display:none;width:42px;height:42px;border:1px solid var(--tw-line);border-radius:12px;background:rgba(255,255,255,.05);color:#fff}
.tw-header-identity{min-width:0;flex:1}.tw-header-identity>span{display:block;color:var(--tw-cyan);font-size:.53rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tw-header h1{margin:.25rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.03rem;letter-spacing:-.025em}
.tw-header p{margin:.16rem 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--tw-muted);font-size:.58rem}
.tw-header-actions{display:flex;align-items:center;gap:.45rem}
.tw-gate{display:inline-flex;align-items:center;gap:.38rem;max-width:220px;min-height:39px;padding:.5rem .65rem;border:1px solid rgba(244,190,80,.2);border-radius:11px;background:rgba(244,190,80,.055);color:#f5d78e;font-size:.59rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tw-button{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:39px;padding:.55rem .72rem;border:1px solid transparent;border-radius:11px;color:#fff;font-size:.62rem;font-weight:850}
.tw-button.primary{background:linear-gradient(135deg,#6654e8,var(--tw-violet) 58%,#23b9ad);box-shadow:0 10px 25px rgba(102,84,232,.21)}
.tw-button.secondary{border-color:var(--tw-line);background:rgba(255,255,255,.055);box-shadow:none}
.tw-button.danger{border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.08);color:#ffd1da}
.tw-button:disabled{opacity:.45;cursor:not-allowed}
.tw-content{height:100%;overflow:auto;padding:1rem 1.05rem 3rem;background:radial-gradient(circle at 15% 0,rgba(140,104,255,.08),transparent 28rem),var(--tw-bg)}
.tw-view{display:none;max-width:1480px;margin:0 auto}.tw-view.active{display:block}
.tw-view-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;margin:.15rem 0 1rem}
.tw-view-head span,.tw-panel-head span,.tw-dialog-head span,.tw-rail section>span{color:var(--tw-cyan);font-size:.51rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.tw-view-head h2{margin:.35rem 0 0;font-size:clamp(1.35rem,2.6vw,2.3rem);line-height:1;letter-spacing:-.045em}
.tw-view-head>p{max-width:620px;margin:0;color:var(--tw-muted);font-size:.65rem;line-height:1.55}
.tw-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem;margin-bottom:.75rem}
.tw-metric-grid article{padding:.75rem;border:1px solid var(--tw-line);border-radius:16px;background:linear-gradient(145deg,rgba(13,23,49,.86),rgba(7,13,29,.72))}
.tw-metric-grid span,.tw-metric-grid strong,.tw-metric-grid small{display:block}
.tw-metric-grid span{color:var(--tw-muted);font-size:.53rem;font-weight:800;text-transform:uppercase}
.tw-metric-grid strong{margin-top:.35rem;color:#ddd7ff;font-size:1.3rem}
.tw-metric-grid small{margin-top:.12rem;color:#7f8da7;font-size:.49rem;line-height:1.25}
.tw-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.tw-panel{border:1px solid var(--tw-line);border-radius:18px;background:linear-gradient(145deg,rgba(13,22,47,.9),rgba(7,13,29,.76));box-shadow:0 14px 38px rgba(0,0,0,.16)}
.tw-panel-head{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.72rem .8rem;border-bottom:1px solid var(--tw-line)}
.tw-panel-head h3{margin:.25rem 0 0;font-size:.72rem}
.tw-panel-body{padding:.8rem}
.tw-home-grid .tw-panel{min-height:230px}
.tw-icon-button{width:35px;height:35px;display:grid;place-items:center;flex:0 0 35px;border:1px solid var(--tw-line);border-radius:10px;background:rgba(255,255,255,.05);color:#fff}
.tw-link-button{padding:.4rem;border:0;background:transparent;color:#aab8ff;font-size:.57rem;font-weight:850}
.tw-empty{display:grid;place-items:center;min-height:115px;padding:1rem;color:var(--tw-muted);text-align:center;font-size:.63rem;line-height:1.5}
.tw-list{display:grid;gap:.45rem}
.tw-list-item{padding:.65rem;border:1px solid var(--tw-line);border-radius:13px;background:rgba(5,11,26,.55)}
.tw-list-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.tw-list-item strong{font-size:.64rem;line-height:1.35}.tw-list-item p{margin:.3rem 0 0;color:var(--tw-muted);font-size:.55rem;line-height:1.45}
.tw-list-meta{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem}
.tw-pill{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .4rem;border:1px solid var(--tw-line);border-radius:999px;background:rgba(255,255,255,.045);color:#bdc7d9;font-size:.48rem;font-weight:800;text-transform:uppercase}
.tw-pill.green,.tw-pill.accepted,.tw-pill.approved{border-color:rgba(73,213,150,.25);background:rgba(73,213,150,.08);color:#b8f7d5}
.tw-pill.amber,.tw-pill.queued,.tw-pill.awaiting_review,.tw-pill.under_review{border-color:rgba(244,190,80,.25);background:rgba(244,190,80,.075);color:#f8dda0}
.tw-pill.red,.tw-pill.failed,.tw-pill.rejected,.tw-pill.blocked_configuration{border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.075);color:#ffd0d9}
.tw-pill.violet,.tw-pill.running,.tw-pill.preparing,.tw-pill.validating{border-color:rgba(140,104,255,.28);background:rgba(140,104,255,.09);color:#d3c9ff}
.tw-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}
.tw-summary-grid div{padding:.6rem;border:1px solid var(--tw-line);border-radius:12px;background:rgba(5,11,26,.5)}
.tw-summary-grid span,.tw-summary-grid strong{display:block}.tw-summary-grid span{color:var(--tw-muted);font-size:.5rem}.tw-summary-grid strong{margin-top:.28rem;font-size:.63rem;word-break:break-word}
.tw-state-bars{display:grid;gap:.45rem}
.tw-state-bar{display:grid;grid-template-columns:105px minmax(0,1fr) 30px;align-items:center;gap:.45rem;font-size:.52rem}
.tw-state-bar div{height:7px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}.tw-state-bar div i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tw-violet),var(--tw-cyan))}
.tw-graph-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.65rem}
.tw-legend{display:flex;flex-wrap:wrap;gap:.35rem}.tw-legend span{display:inline-flex;align-items:center;gap:.3rem;color:var(--tw-muted);font-size:.49rem}
.tw-legend span:before{content:"";width:8px;height:8px;border-radius:3px;background:#77839b}.tw-legend .programme:before{background:var(--tw-violet)}.tw-legend .plan:before{background:var(--tw-blue)}.tw-legend .workflow_step:before{background:#7182a5}.tw-legend .run:before{background:var(--tw-cyan)}.tw-legend .prediction:before{background:var(--tw-amber)}.tw-legend .experiment:before{background:#e78aff}.tw-legend .outcome:before{background:var(--tw-green)}.tw-legend .decision:before{background:var(--tw-red)}
.tw-graph-panel{min-height:610px}.tw-graph{display:grid;gap:.8rem;padding:.9rem;overflow:auto}
.tw-graph-lane{display:grid;grid-template-columns:140px minmax(0,1fr);gap:.7rem}
.tw-graph-lane>strong{padding:.7rem;color:#aebbd0;font-size:.57rem;text-transform:uppercase;letter-spacing:.05em}
.tw-graph-nodes{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.35rem}
.tw-graph-node{flex:0 0 180px;min-height:92px;padding:.65rem;border:1px solid var(--tw-line);border-top:3px solid #77839b;border-radius:13px;background:rgba(6,12,27,.72)}
.tw-graph-node.programme{border-top-color:var(--tw-violet)}.tw-graph-node.plan{border-top-color:var(--tw-blue)}.tw-graph-node.workflow_step{border-top-color:#7182a5}.tw-graph-node.run{border-top-color:var(--tw-cyan)}.tw-graph-node.prediction{border-top-color:var(--tw-amber)}.tw-graph-node.experiment{border-top-color:#e78aff}.tw-graph-node.outcome{border-top-color:var(--tw-green)}.tw-graph-node.decision{border-top-color:var(--tw-red)}
.tw-graph-node small,.tw-graph-node strong,.tw-graph-node span{display:block}.tw-graph-node small{color:var(--tw-muted);font-size:.46rem;text-transform:uppercase}.tw-graph-node strong{margin-top:.35rem;font-size:.59rem;line-height:1.35}.tw-graph-node span{margin-top:.3rem;color:#8e9cb6;font-size:.49rem}
.tw-form-layout{align-items:start}.tw-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}
.tw-form label{display:flex;flex-direction:column;gap:.32rem;color:#b9c4d7;font-size:.56rem;font-weight:800}
.tw-form label.full,.tw-form fieldset.full,.tw-form .full{grid-column:1/-1}
.tw-form input,.tw-form select,.tw-form textarea{width:100%;min-height:42px;padding:.57rem .64rem;border:1px solid var(--tw-line);border-radius:11px;outline:none;background:#071022;color:var(--tw-text);font-size:.65rem}
.tw-form textarea{min-height:94px;resize:vertical;line-height:1.45}
.tw-form input:focus,.tw-form select:focus,.tw-form textarea:focus{border-color:rgba(66,221,208,.45);box-shadow:0 0 0 3px rgba(66,221,208,.07)}
.tw-form select[multiple]{min-height:126px}
.tw-form fieldset{margin:0;padding:0;border:0}.tw-form legend,.tw-field-title{margin-bottom:.4rem;color:#b9c4d7;font-size:.56rem;font-weight:800}
.tw-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
.tw-check-grid label{display:grid;grid-template-columns:17px minmax(0,1fr);align-items:center;gap:.45rem;min-height:40px;padding:.5rem;border:1px solid var(--tw-line);border-radius:11px;background:rgba(5,11,26,.55);cursor:pointer}
.tw-check-grid input[type="checkbox"]{-webkit-appearance:none;appearance:none;width:17px!important;height:17px!important;min-width:17px!important;min-height:17px!important;margin:0!important;padding:0!important;border:1.5px solid rgba(184,198,221,.55)!important;border-radius:5px!important;background:#081123!important;display:grid!important;place-items:center!important}
.tw-check-grid input[type="checkbox"]:checked{border-color:transparent!important;background:linear-gradient(135deg,var(--tw-violet),#9a76ff)!important}
.tw-check-grid input[type="checkbox"]:checked:after{content:"";width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
.tw-check-grid label:has(input:checked){border-color:rgba(140,104,255,.42);background:rgba(140,104,255,.1);color:#fff}
.tw-form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.2rem}
.tw-history-panel{margin-top:.75rem}
.tw-plan-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;margin-bottom:.6rem}
.tw-plan-summary article{padding:.55rem;border:1px solid var(--tw-line);border-radius:11px;background:rgba(5,11,26,.5)}
.tw-plan-summary strong,.tw-plan-summary span{display:block}.tw-plan-summary strong{font-size:.9rem;color:#ddd7ff}.tw-plan-summary span{margin-top:.15rem;color:var(--tw-muted);font-size:.45rem}
.tw-plan-steps{display:grid;gap:.45rem;max-height:620px;overflow:auto}
.tw-plan-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:.55rem;padding:.6rem;border:1px solid var(--tw-line);border-radius:12px;background:rgba(5,11,26,.5)}
.tw-plan-step>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(140,104,255,.13);color:#d0c5ff;font-size:.51rem;font-weight:900}
.tw-plan-step h4{margin:0;font-size:.62rem}.tw-plan-step p{margin:.25rem 0 0;color:var(--tw-muted);font-size:.51rem;line-height:1.4}
.tw-contract{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin-top:.4rem}
.tw-contract div{padding:.4rem;border:1px solid var(--tw-line);border-radius:9px;background:rgba(255,255,255,.025)}
.tw-contract strong{display:block;color:#b8c4d9;font-size:.46rem;text-transform:uppercase}.tw-contract span{display:block;margin-top:.15rem;color:#8391aa;font-size:.45rem;line-height:1.35}
.tw-weight-editor{padding:.65rem;border:1px solid var(--tw-line);border-radius:13px;background:rgba(5,11,26,.5)}
.tw-weight-row{display:grid;grid-template-columns:minmax(130px,1fr) 1fr 50px 1fr 50px;align-items:center;gap:.45rem;padding:.42rem 0;border-bottom:1px solid rgba(158,177,218,.09)}
.tw-weight-row:last-child{border-bottom:0}.tw-weight-row strong{font-size:.51rem}.tw-weight-row label{font-size:.45rem}.tw-weight-row input[type="range"]{min-height:auto;padding:0;border:0;background:transparent;box-shadow:none}
.tw-rank-list{display:grid;gap:.45rem}.tw-rank-card{padding:.65rem;border:1px solid var(--tw-line);border-radius:13px;background:rgba(5,11,26,.55)}
.tw-rank-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.tw-rank-head strong{font-size:.66rem}.tw-rank-head span{font-size:.9rem;color:#ddd7ff;font-weight:900}
.tw-range{height:7px;margin:.45rem 0;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden}.tw-range i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--tw-violet),var(--tw-cyan))}
.tw-criteria-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem}.tw-criteria-grid div{display:flex;justify-content:space-between;gap:.4rem;padding:.3rem;border-radius:8px;background:rgba(255,255,255,.025);font-size:.46rem;color:var(--tw-muted)}
.tw-notice{padding:.6rem;border:1px solid rgba(66,221,208,.18);border-radius:12px;background:rgba(66,221,208,.05);color:#c6f8f4;font-size:.54rem;line-height:1.45}
.tw-notice.warning{border-color:rgba(244,190,80,.2);background:rgba(244,190,80,.055);color:#f5dda2}.tw-notice.danger{border-color:rgba(251,113,133,.22);background:rgba(251,113,133,.06);color:#ffd1da}
.tw-run-actions,.tw-decision-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}
.tw-small-button{min-height:30px;padding:.38rem .5rem;border:1px solid var(--tw-line);border-radius:9px;background:rgba(255,255,255,.05);color:#dce2ee;font-size:.48rem;font-weight:800}
.tw-tab-strip{display:flex;gap:.4rem;margin-bottom:.7rem;overflow-x:auto}
.tw-tab-strip button{flex:0 0 auto;min-height:39px;padding:.5rem .7rem;border:1px solid var(--tw-line);border-radius:999px;background:rgba(7,13,29,.75);color:var(--tw-muted);font-size:.57rem;font-weight:850}
.tw-tab-strip button.active{border-color:rgba(66,221,208,.32);background:rgba(66,221,208,.07);color:#d7fffb}
.tw-tool-form{display:none}.tw-tool-form.active{display:grid}
.tw-learning-entry{padding:.65rem;border-left:3px solid var(--tw-cyan);border-radius:0 12px 12px 0;background:rgba(5,11,26,.55)}
.tw-learning-entry.prediction{border-color:var(--tw-amber)}.tw-learning-entry.experiment{border-color:#e78aff}.tw-learning-entry.outcome{border-color:var(--tw-green)}
.tw-learning-entry strong,.tw-learning-entry span{display:block}.tw-learning-entry strong{font-size:.61rem}.tw-learning-entry span{margin-top:.25rem;color:var(--tw-muted);font-size:.5rem;line-height:1.4}
.tw-review-list{display:grid;gap:.3rem;margin-top:.45rem}.tw-review{padding:.4rem;border-radius:9px;background:rgba(255,255,255,.028);font-size:.48rem;color:var(--tw-muted)}
.tw-readiness-scroll{overflow:auto;max-height:660px}
.tw-readiness-matrix{width:100%;min-width:920px;border-collapse:collapse}
.tw-readiness-matrix th,.tw-readiness-matrix td{padding:.52rem;border-bottom:1px solid var(--tw-line);text-align:left;vertical-align:top;font-size:.48rem}
.tw-readiness-matrix th{position:sticky;top:0;z-index:2;background:#0e1934;color:#bdc8da;text-transform:uppercase;letter-spacing:.04em}
.tw-readiness-matrix td:first-child{min-width:180px;color:#eef2fb;font-weight:750}
.tw-readiness-cell{display:inline-flex;padding:.22rem .35rem;border-radius:7px;background:rgba(255,255,255,.045);color:#aebbd0;white-space:nowrap}
.tw-sublist{margin-top:.65rem}
.tw-rail{height:100%;padding:.85rem;border-left:1px solid var(--tw-line);background:linear-gradient(180deg,#080d1d,#060a17);overflow-y:auto}
.tw-rail section{padding:.75rem 0;border-bottom:1px solid var(--tw-line)}
.tw-rail section:first-child{padding-top:.2rem}.tw-rail p{margin:.45rem 0 0;color:var(--tw-muted);font-size:.54rem;line-height:1.55}
.tw-rail-list{display:grid;gap:.35rem;margin-top:.45rem}.tw-rail-list article{padding:.45rem;border:1px solid var(--tw-line);border-radius:10px;background:rgba(255,255,255,.025)}
.tw-rail-list strong,.tw-rail-list small{display:block}.tw-rail-list strong{font-size:.51rem}.tw-rail-list small{margin-top:.18rem;color:var(--tw-muted);font-size:.46rem;line-height:1.35}
.tw-dialog{width:min(760px,calc(100% - 24px));max-height:88vh;padding:0;border:1px solid var(--tw-line);border-radius:20px;background:#0a142b;color:var(--tw-text);box-shadow:var(--tw-shadow)}
.tw-dialog-small{width:min(560px,calc(100% - 24px))}
.tw-dialog::backdrop{background:rgba(2,5,13,.78);backdrop-filter:blur(8px)}
.tw-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;border-bottom:1px solid var(--tw-line)}
.tw-dialog-head h2{margin:.3rem 0 0;font-size:.92rem}
.tw-dialog-body{padding:.9rem;overflow:auto}
.tw-toast-region{position:fixed;right:16px;bottom:16px;z-index:2000;display:grid;gap:.4rem;width:min(380px,calc(100% - 24px))}
.tw-toast{padding:.65rem .75rem;border:1px solid var(--tw-line);border-radius:12px;background:#101d3d;color:#eef3ff;box-shadow:var(--tw-shadow);font-size:.57rem;line-height:1.45;animation:tw-pop .18s ease}
.tw-toast.error{border-color:rgba(251,113,133,.3);background:#2b1422}.tw-toast.success{border-color:rgba(73,213,150,.28);background:#0c2822}
@keyframes tw-pop{from{transform:translateY(6px);opacity:0}}
.tw-form-divider{grid-column:1/-1;display:flex;align-items:center;gap:.5rem;margin:.85rem 0 .65rem;color:var(--tw-muted);font-size:.49rem;font-weight:900;letter-spacing:.08em}.tw-form-divider:before,.tw-form-divider:after{content:"";height:1px;flex:1;background:var(--tw-line)}
@media(max-width:1250px){
  :root{--tw-rail-w:0px}.tw-app{grid-template-columns:var(--tw-sidebar-w) minmax(0,1fr)}.tw-rail{display:none}
  .tw-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  :root{--tw-sidebar-w:0px}.tw-app{grid-template-columns:1fr}.tw-sidebar{position:fixed;left:0;top:0;bottom:0;z-index:300;width:min(280px,88vw);transform:translateX(-105%);transition:.2s transform;box-shadow:30px 0 70px rgba(0,0,0,.4)}
  .tw-sidebar.open{transform:none}.tw-menu-button{display:grid;place-items:center}.tw-header-actions .secondary,.tw-gate{display:none}
  .tw-header{padding-inline:.75rem}.tw-content{padding-inline:.75rem}.tw-view-head{align-items:flex-start;flex-direction:column;gap:.45rem}
  .tw-grid-2{grid-template-columns:1fr}.tw-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  :root{--tw-header-h:72px}html{overflow:auto}body{height:auto;min-height:100%}.tw-app{min-height:100vh;height:auto}.tw-main{height:auto;min-height:100vh;grid-template-rows:auto 1fr}
  .tw-header{position:sticky;top:0;z-index:90;min-height:72px}.tw-header p{display:none}.tw-header h1{font-size:.83rem}.tw-header-actions .primary{min-height:42px;padding:.5rem .58rem;font-size:.56rem}
  .tw-content{height:auto;overflow:visible;padding:.75rem .65rem 5rem}.tw-view-head h2{font-size:1.55rem}.tw-view-head>p{font-size:.63rem}
  .tw-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-form{grid-template-columns:1fr}.tw-form label.full,.tw-form fieldset.full,.tw-form .full{grid-column:auto}
  .tw-form input,.tw-form select,.tw-form textarea{min-height:48px;font-size:16px}.tw-form textarea{min-height:120px}
  .tw-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-check-grid label{min-height:50px;font-size:.72rem}.tw-check-grid input[type="checkbox"]{width:21px!important;height:21px!important;min-width:21px!important;min-height:21px!important}
  .tw-plan-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.tw-contract{grid-template-columns:1fr}.tw-weight-row{grid-template-columns:1fr 1fr 42px}.tw-weight-row label:nth-of-type(2){grid-column:2}.tw-weight-row input{min-height:auto;font-size:initial}
  .tw-criteria-grid{grid-template-columns:1fr}.tw-graph-lane{grid-template-columns:1fr}.tw-graph-lane>strong{padding:.2rem}.tw-dialog-body{max-height:72vh}
  .tw-toast-region{left:12px;right:12px;bottom:12px;width:auto}.tw-toast{font-size:.7rem}
}
@media(max-width:390px){.tw-check-grid{grid-template-columns:1fr}.tw-metric-grid{grid-template-columns:1fr 1fr}.tw-header-actions .primary span{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Phase 2 readability baseline: scientific density must not require zoom. */
.tw-nav-label,.tw-nav-button,.tw-subnav-button,.tw-kicker,.tw-header p,.tw-view-head>p,
.tw-panel-head p,.tw-list-item p,.tw-summary-grid span,.tw-state-bar,.tw-legend span,
.tw-graph-lane>strong,.tw-graph-node small,.tw-graph-node span,.tw-form label,
.tw-form legend,.tw-field-title,.tw-plan-summary span,.tw-plan-step p,.tw-contract strong,
.tw-contract span,.tw-weight-row strong,.tw-weight-row label,.tw-criteria-grid div,.tw-notice,
.tw-small-button,.tw-tab-strip button,.tw-learning-entry span,.tw-review,
.tw-readiness-matrix th,.tw-readiness-matrix td,.tw-rail p,.tw-rail-list strong,
.tw-rail-list small,.tw-toast,.tw-form-divider { font-size: .75rem; }
.tw-list-item strong,.tw-summary-grid strong,.tw-graph-node strong,.tw-plan-step h4,
.tw-rank-head strong,.tw-learning-entry strong { font-size: .8rem; }
.tw-pill { font-size: .68rem; }
.tw-form input,.tw-form select,.tw-form textarea { font-size: .875rem; }
.tw-button,.tw-link-button,.tw-small-button { min-height: 40px; }
.tw-small-button { padding-inline: .7rem; }
.tw-readiness-matrix th,.tw-readiness-matrix td { line-height: 1.45; }

@media(max-width:620px){
  .tw-content{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}
  .tw-header{padding-top:max(.5rem,env(safe-area-inset-top))}
  .tw-header h1{font-size:1rem}.tw-header-actions .primary{min-height:44px;font-size:.72rem}
  .tw-view-head>p{font-size:.8rem;line-height:1.55}
  .tw-panel{border-radius:14px}.tw-panel-head{align-items:flex-start;flex-direction:column}
  .tw-form-actions{position:sticky;bottom:.5rem;z-index:10;padding:.5rem;border:1px solid var(--tw-line);border-radius:12px;background:rgba(8,13,29,.96);box-shadow:var(--tw-shadow)}
  .tw-form-actions .tw-button{flex:1;min-height:48px}
  .tw-readiness-matrix{min-width:720px}
}
