/* Praxis Sim – all rules are scoped to #psim-root so they don't clash with the WordPress theme */
#psim-root{
  --bg:#dfe6e3; --panel:rgba(255,255,255,.93); --ink:#1d2a2a; --muted:#5d6b6b; --line:rgba(20,40,40,.12);
  --accent:#1f8a70; --accent2:#e98a2b; --bad:#d0443c; --warn:#e3a21a; --good:#2e9d5b; --doc:#3b6fd8; --mpa:#1aa39a; --pat:#9a5bd0;
  --psim-top:78px;
  position:relative; display:block; width:100%; height:80vh; min-height:540px; overflow:hidden;
  background:#cfdcd7; color:var(--ink); border-radius:16px; outline:none;
  font:13px/1.35 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; text-align:left;
  -webkit-user-select:none; user-select:none; isolation:isolate;
}
#psim-root:fullscreen{border-radius:0;height:100vh!important;width:100vw}
#psim-root.pseudo-fs{position:fixed!important;inset:0;height:100vh!important;z-index:99999;border-radius:0}
#psim-root *,#psim-root *::before,#psim-root *::after{box-sizing:border-box}
#psim-root canvas#psim-c{position:absolute;inset:0;display:block;width:100%!important;height:100%!important;max-width:none;margin:0;touch-action:none}
#psim-root h1,#psim-root h2,#psim-root h3,#psim-root p,#psim-root ul,#psim-root table{font-family:inherit;color:var(--ink);letter-spacing:normal;text-transform:none}
#psim-root h1{margin:0 0 4px;font-size:22px;font-weight:700;line-height:1.2}
#psim-root h2{margin:0 0 6px;font-size:16px;font-weight:700;line-height:1.25}
#psim-root h3{margin:4px 0 8px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}
#psim-root p{margin:0 0 10px;font-size:13px}
#psim-root a{color:var(--accent)}
#psim-root .panel{position:absolute;background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;box-shadow:0 6px 24px rgba(0,30,30,.12);z-index:2}
#psim-root #psim-top{top:10px;left:10px;right:10px;display:flex;align-items:center;gap:12px;padding:8px 12px;flex-wrap:wrap}
#psim-root #psim-brand{font-weight:700;font-size:15px;white-space:nowrap}
#psim-root #psim-brand small{font-weight:500;color:var(--muted);margin-left:6px;font-size:12px}
#psim-root #psim-clock{font:700 22px/1 ui-monospace,SFMono-Regular,Menlo,monospace;min-width:74px}
#psim-root #psim-dayinfo{color:var(--muted);font-size:12px;white-space:nowrap}
#psim-root .speeds{display:flex;gap:4px}
#psim-root .tools{display:flex;gap:4px}
#psim-root button{font:inherit;font-size:13px;line-height:1.2;border:1px solid var(--line);background:#fff;border-radius:8px;padding:5px 9px;cursor:pointer;color:var(--ink);margin:0;box-shadow:none;text-transform:none;letter-spacing:normal;min-height:0;height:auto;width:auto;text-decoration:none}
#psim-root button:hover{border-color:var(--accent);background:#fff;color:var(--ink)}
#psim-root button.on,#psim-root button.on:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
#psim-root button.small{padding:2px 8px;font-size:12px}
#psim-root button.big{font-size:15px;padding:9px 18px}
#psim-root button:disabled{opacity:.6;cursor:default}
#psim-root #psim-menuBtn{display:none}
#psim-root .kpis{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}
#psim-root .kpi{background:#f3f6f5;border-radius:9px;padding:4px 9px;min-width:62px}
#psim-root .kpi b{display:block;font-size:15px}
#psim-root .kpi span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px}
#psim-root #psim-left{top:var(--psim-top);left:10px;width:250px;max-height:calc(100% - var(--psim-top) - 170px);overflow:auto;padding:12px}
#psim-root #psim-right{top:var(--psim-top);right:10px;width:290px;max-height:calc(100% - var(--psim-top) - 90px);overflow:auto;padding:12px;display:none}
#psim-root .close{display:flex;justify-content:flex-end}
#psim-root .row{display:flex;align-items:center;gap:8px;margin:6px 0}
#psim-root .row.wrap{flex-wrap:wrap}
#psim-root .row label{flex:1;margin:0;font-weight:400;font-size:13px}
#psim-root .stepper{display:flex;align-items:center;gap:4px}
#psim-root .stepper b{min-width:18px;text-align:center}
#psim-root .list{display:flex;flex-direction:column;gap:3px;margin:6px 0 10px}
#psim-root .person{display:flex;align-items:center;gap:7px;padding:4px 6px;border-radius:8px;cursor:pointer}
#psim-root .person:hover,#psim-root .person.sel{background:#e9f3f0}
#psim-root .dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex:none;vertical-align:middle}
#psim-root .person .st{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
#psim-root .bar{height:6px;background:#e4eaea;border-radius:4px;overflow:hidden}
#psim-root .bar i{display:block;height:100%;background:var(--accent)}
#psim-root .muted{color:var(--muted)}
#psim-root .small-note{font-size:11.5px;margin:2px 0}
#psim-root .hr{height:1px;background:var(--line);margin:10px 0}
#psim-root .state{margin:10px 0 4px}
#psim-root input[type=range]{width:100%;margin:4px 0;padding:0;border:0;background:none}
#psim-root select,#psim-root input[type=text],#psim-root input:not([type]){font:inherit;font-size:13px;padding:5px 7px;border-radius:7px;border:1px solid var(--line);background:#fff;color:var(--ink);margin:0;height:auto;width:auto;max-width:100%}
#psim-root input[type=checkbox]{margin:0;width:auto;height:auto}
#psim-root .toggle{display:flex;align-items:center;gap:8px;margin:5px 0;cursor:pointer;font-size:13px;font-weight:400}
#psim-root #psim-log{left:10px;bottom:10px;width:360px;padding:8px 12px;font-size:12px;max-height:140px;overflow:hidden;pointer-events:none}
#psim-root #psim-log div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:1px 0}
#psim-root #psim-log .t{color:var(--muted);font-family:ui-monospace,Menlo,monospace;margin-right:6px}
#psim-root #psim-help{right:10px;bottom:10px;padding:8px 12px;font-size:11.5px;color:var(--muted);max-width:420px}
#psim-root #psim-help b{color:var(--ink)}
#psim-root .kv{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:6px 0}
#psim-root .kv span:nth-child(odd){color:var(--muted)}
#psim-root .tag{display:inline-block;font-size:11px;padding:1px 7px;border-radius:10px;background:#eef2f1;margin-right:4px}
#psim-root #psim-modal{position:absolute;inset:0;background:rgba(10,25,25,.45);display:none;align-items:center;justify-content:center;z-index:10}
#psim-root #psim-modal .box{background:#fff;border-radius:16px;max-width:900px;width:calc(100% - 32px);max-height:calc(100% - 32px);overflow:auto;padding:22px 24px;box-shadow:0 20px 60px rgba(0,0,0,.3);-webkit-user-select:text;user-select:text}
#psim-root table{border-collapse:collapse;width:100%;font-size:12.5px;margin:0;border:0;background:none}
#psim-root td,#psim-root th{padding:5px 6px;border:0;border-bottom:1px solid var(--line);text-align:left;background:none;vertical-align:middle}
#psim-root th{color:var(--muted);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.4px}
#psim-root td.n,#psim-root th.n{text-align:right;font-variant-numeric:tabular-nums}
#psim-root tr.me td{background:#e6f5ef;font-weight:600}
#psim-root .tips{margin:0 0 10px;padding-left:20px}
#psim-root .tips li{margin:5px 0;font-size:13px;list-style:disc}
#psim-root .rephead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
#psim-root .scorebox{text-align:right}
#psim-root .scorebox .muted{font-size:11px;text-transform:uppercase;letter-spacing:.5px}
#psim-root .score{font-size:40px;font-weight:800;color:var(--accent);line-height:1.1}
#psim-root .grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
#psim-root .scens{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px}
#psim-root .scen{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:10px 11px;border-radius:12px;background:#f6f8f7;white-space:normal}
#psim-root .scen.on{background:#e3f4ee;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset;color:var(--ink)}
#psim-root .scen .si{font-size:20px}
#psim-root .scen .sd{font-size:11.5px;color:var(--muted);line-height:1.3}
#psim-root .scen .rk{font-size:11px;color:var(--accent);font-weight:600}
#psim-root .scen .best{font-size:11px;color:var(--muted)}
#psim-root .lb{background:#f6f8f7;border-radius:12px;padding:12px 14px;margin:12px 0}
#psim-root .lb .board{margin-top:8px}
#psim-root #psim-toast{position:absolute;left:50%;top:calc(var(--psim-top) + 4px);transform:translateX(-50%);background:#1d2a2a;color:#fff;padding:7px 14px;border-radius:9px;font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:12;white-space:nowrap}
#psim-root #psim-legend{display:none;left:380px;bottom:10px;padding:6px 10px;font-size:11px}
#psim-root .grad{width:140px;height:8px;border-radius:4px;background:linear-gradient(90deg,#2b6cff,#20c0a0,#f5d000,#ff7a00,#e0203a);margin:3px 0}
#psim-root .gl{display:flex;justify-content:space-between}
/* responsive (classes set from JS based on the container width) */
#psim-root.mid #psim-brand small{display:none}
#psim-root.narrow #psim-menuBtn{display:inline-block}
#psim-root.narrow #psim-left{display:none;z-index:4}
#psim-root.narrow.show-left #psim-left{display:block}
#psim-root.narrow #psim-help,#psim-root.narrow #psim-legend{display:none}
#psim-root.narrow #psim-log{width:280px;max-height:90px}
#psim-root.narrow .grid2{grid-template-columns:1fr}
#psim-root.narrow #psim-right{width:260px}
#psim-root.tiny .kpis .kpi:nth-child(n+4){display:none}
#psim-root.tiny #psim-brand small,#psim-root.tiny #psim-log{display:none}
#psim-root.tiny #psim-right{left:10px;width:auto}
#psim-root.tiny .speeds button[data-s="1"],#psim-root.tiny .speeds button[data-s="240"]{display:none}
