#sim-toolbar{position:fixed;top:var(--nav-h, 3rem);left:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface-2);border-right:1px solid var(--border);border-bottom:1px solid var(--border);border-bottom-right-radius:var(--r-md);box-shadow:var(--face-float)}#sim-toolbar input[type=search],#sim-toolbar input[type=number]{padding:var(--space-1) var(--space-2);font-size:var(--fs-md);color:var(--fg);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-sm)}#sim-toolbar input[type=search]{width:11rem}.sim-count{display:inline-block;min-width:1.4em;margin-left:var(--space-1);padding:0 var(--space-h);font-size:var(--fs-xs);text-align:center;background:var(--surface-3);border-radius:var(--r-pill)}.sim-menu{position:relative}.sim-menu-body{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:6;width:max-content;max-width:min(22rem,calc(100vw - var(--space-3) * 2));padding:var(--space-3);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-md);box-shadow:var(--shadow-3)}.sim-menu-body .note{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--fs-xs)}#sim-image-menu:not([hidden]){display:flex;flex-direction:column;gap:var(--space-2)}#sim-image-dialog{max-width:min(40rem,calc(100vw - var(--space-3) * 2));max-height:calc(100dvh - var(--space-5) * 2);padding:var(--space-4);color:var(--fg);background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3)}#sim-image-dialog::backdrop{background:#0009}#sim-image-dialog h2{margin:0;font-size:var(--fs-lg)}#sim-image-dialog .note{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--fs-sm)}#sim-image-out{display:block;max-width:100%;max-height:60dvh;margin-block:var(--space-3);object-fit:contain}.sim-image-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.sim-check{display:flex;gap:var(--space-2);align-items:flex-start;padding:var(--space-1) 0;cursor:pointer}.sim-check em{display:block;color:var(--muted);font-size:var(--fs-xs);font-style:normal}.sim-field{display:flex;gap:var(--space-2);align-items:center;justify-content:space-between;padding:var(--space-1) 0;font-size:var(--fs-md)}.sim-field input{width:8rem}#sim-toolbar input.over-limit{border-color:var(--nature)}#sim-fabs,#sim-scrim,#sim-sheet-close,#sim-panel-handle{display:none}#sim-panel{position:fixed;top:var(--nav-h, 3rem);right:0;bottom:0;z-index:4;display:flex;flex-direction:column;width:22rem;padding:var(--space-3);overflow-y:auto;border-width:0 0 0 1px;border-radius:0}#sim-totals h2{margin:0 0 var(--space-2);font-size:var(--fs-lg)}#sim-totals dl{margin:0}.sim-total-row{display:flex;gap:var(--space-2);justify-content:space-between;padding:var(--space-h) 0;font-size:var(--fs-md)}.sim-total-row dt{color:var(--muted)}.sim-total-row dd{margin:0;font-variant-numeric:tabular-nums}.sim-total-row.is-total{padding-bottom:var(--space-2);font-size:var(--fs-base);font-weight:600;border-bottom:1px solid var(--border)}#sim-totals #sim-gap{margin:var(--space-2) 0 0;padding-top:var(--space-2);border-top:1px dashed var(--border)}#sim-gap .is-short dd{color:var(--nature);font-weight:600}#sim-gap .is-enough dd{color:var(--muted)}#sim-detail{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}#sim-detail h3{margin:0 0 var(--space-1);font-size:var(--fs-lg)}#sim-detail .tag{display:inline-block;margin-right:var(--space-1);padding:var(--space-h) var(--space-2);color:var(--muted);font-size:var(--fs-xs);background:var(--surface-3);border-radius:var(--r-pill)}#sim-detail .desc{margin:var(--space-2) 0;font-size:var(--fs-md);line-height:1.6}#sim-detail .sim-term{color:var(--support);text-decoration:underline dotted currentcolor;text-underline-offset:.2em}#sim-detail .note{margin:var(--space-1) 0;color:var(--muted);font-size:var(--fs-sm)}#sim-detail .warn{color:var(--nature)}#sim-detail .cta{display:block;width:100%;margin-top:var(--space-2);text-align:center}#sim-detail .cta.danger{border-color:var(--nature)}.sim-level{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border)}.sim-level-row{display:flex;gap:var(--space-2);align-items:center}.sim-level-row input[type=range]{flex:1;min-width:0}.sim-level-row button{width:2rem;padding:var(--space-1);color:var(--fg);cursor:pointer;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-sm)}.sim-level-value{min-width:5em;font-size:var(--fs-md);font-variant-numeric:tabular-nums;text-align:right}#sim-ability-modal{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#0000008c}#sim-ability-modal[hidden]{display:none}.sim-modal-box{display:flex;flex-direction:column;width:min(38rem,100%);max-height:80vh;padding:var(--space-4);overflow-y:auto;background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3)}.sim-modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.sim-modal-head h2{margin:0;font-size:var(--fs-xl)}.sim-modal-head button{padding:var(--space-1) var(--space-2);color:var(--fg);font-size:var(--fs-lg);cursor:pointer;background:none;border:none}.sim-ability-group{margin-bottom:var(--space-4)}.sim-ability-group h3{margin:0 0 var(--space-2);font-size:var(--fs-md);color:var(--muted)}.sim-ability-row{display:flex;gap:var(--space-3);justify-content:space-between;padding:var(--space-1) 0;font-size:var(--fs-md);border-bottom:1px solid var(--border)}.sim-ability-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}.sim-ability-empty{color:var(--muted);font-size:var(--fs-md)}#sim-toast{position:fixed;bottom:var(--space-6);left:50%;z-index:30;margin:0;padding:var(--space-2) var(--space-4);color:var(--bg);font-size:var(--fs-md);background:var(--gold);border-radius:var(--r-pill);box-shadow:var(--shadow-2);transform:translate(-50%)}#sim-toast:empty{padding:0;background:none;box-shadow:none}@media(width<=720px){#sim-toolbar{top:auto;right:0;bottom:0;z-index:7;max-height:80dvh;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));overflow-y:auto;visibility:hidden;border-right:none;border-bottom:none;border-top:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;transform:translateY(101%)}#sim-toolbar.is-open{visibility:visible;transform:translateY(0);transition:transform var(--t-med) var(--e-out)}#sim-toolbar.is-search>:not(#sim-search):not(#sim-sheet-close){display:none}#sim-toolbar input[type=search]{flex:1;min-width:6rem}#sim-toolbar #sim-sheet-close{display:flex;color:var(--fg);cursor:pointer;font:inherit;flex-basis:100%;justify-content:center;padding:var(--space-1) 0;background:none;border:none;box-shadow:none}.sim-menu{flex-basis:100%}.sim-menu>button{width:100%}.sim-menu-body{position:static;width:auto;max-width:none;margin-top:var(--space-2);box-shadow:none}.sim-field input{width:7rem}#sim-panel{top:auto;width:100%;height:var(--sim-panel-user-h, 3.5rem);max-height:80dvh;padding:0 var(--space-3);overscroll-behavior:contain;border-width:1px 0 0;border-radius:var(--r-lg) var(--r-lg) 0 0}#sim-panel>:last-child{margin-bottom:var(--space-3)}#sim-panel>*{flex:none}#sim-panel-handle{display:flex;position:sticky;top:0;z-index:1;flex-direction:column;gap:var(--space-1);justify-content:center;width:100%;height:3.5rem;padding:0;color:var(--fg);cursor:grab;background:var(--surface-2);border:none;touch-action:none}#sim-panel-handle:active{cursor:grabbing}.sim-grip{align-self:center;width:2.25rem;height:.25rem;background:var(--border-strong);border-radius:var(--r-pill)}.sim-head-sum{display:flex;gap:var(--space-2);justify-content:space-between;width:100%;font-size:var(--fs-md);font-variant-numeric:tabular-nums}#sim-totals h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#sim-panel>footer{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}body:has(#canvas-host)>footer{padding-bottom:calc(var(--space-4) + var(--sim-panel-h, 3.5rem))}#sim-fabs{display:flex;position:fixed;right:var(--space-3);bottom:calc(var(--sim-panel-h, 3.5rem) + var(--space-3));z-index:6;flex-direction:column;gap:var(--space-2);transition:bottom var(--t-fast) var(--e-out)}#sim-fabs button{display:grid;width:2.75rem;height:2.75rem;padding:0;color:var(--fg);cursor:pointer;background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r-pill);box-shadow:var(--shadow-3);place-items:center;transition:transform var(--t-press) var(--e-out)}#sim-fabs button:active{transform:scale(var(--p-press))}#sim-fabs svg{width:1.25rem;height:1.25rem;fill:none;stroke:currentcolor;stroke-width:2;stroke-linecap:round}#sim-fab-more svg{fill:currentcolor;stroke:none}#sim-scrim{display:block;position:fixed;inset:var(--nav-h, 3rem) 0 0;z-index:5;background:#00000073}#sim-scrim[hidden]{display:none}}@media(prefers-reduced-motion:reduce){@media(width<=720px){#sim-toolbar.is-open,#sim-fabs{transition:none}#sim-fabs button:active{transform:none}}}
