body{--sim-panel-w:22rem}#sim-toolbar{top:var(--nav-h,3rem);z-index:5;max-width:calc(100% - var(--sim-panel-w));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);flex-wrap:wrap;display:flex;position:fixed;left:0}#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-search-icon{display:none}@media not (max-width:720px){#sim-toolbar{--sim-search-w:2.75rem;--sim-search-open-w:14rem;padding:var(--space-2) var(--space-4)}.sim-search-icon{z-index:2;width:var(--sim-search-w);margin-right:calc(-1 * var(--sim-search-w) - var(--space-2));color:var(--muted);pointer-events:none;place-items:center;display:grid;position:relative}.sim-search-icon svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;width:1.1rem;height:1.1rem}#sim-toolbar #sim-search{box-sizing:border-box;width:calc(var(--sim-search-w) + 2px);padding:var(--space-2) 0 var(--space-2) var(--sim-search-w);font:inherit;background:var(--bg);border-color:var(--border);border-radius:var(--r-xs);cursor:pointer;position:relative}#sim-toolbar #sim-search:focus{z-index:1;width:calc(var(--sim-search-open-w) + 2px);margin-right:calc(var(--sim-search-w) - var(--sim-search-open-w));padding-right:var(--space-3);cursor:text}#sim-toolbar #sim-search:not(:focus,:placeholder-shown){border-color:var(--gold)}}#sim-toolbar input[type=search]{width:11rem}.sim-count{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);display:inline-block}.sim-menu{position:relative}.sim-menu-body{top:calc(100% + var(--space-2));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);position:absolute;left:0}.sim-menu-body .note{margin:0 0 var(--space-2);color:var(--muted);font-size:var(--fs-xs)}#sim-image-menu:not([hidden]){gap:var(--space-2);flex-direction:column;display:flex}#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{font-size:var(--fs-lg);margin:0}#sim-image-dialog .note{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--fs-sm)}#sim-image-out{max-width:100%;max-height:60dvh;margin-block:var(--space-3);object-fit:contain;display:block}.sim-image-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.sim-check{gap:var(--space-2);padding:var(--space-1) 0;cursor:pointer;align-items:flex-start;display:flex}.sim-check em{color:var(--muted);font-size:var(--fs-xs);font-style:normal;display:block}.sim-field{gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--fs-md);justify-content:space-between;align-items:center;display:flex}.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{top:var(--nav-h,3rem);z-index:4;width:var(--sim-panel-w);padding:var(--space-3);border-width:0 0 0 1px;border-radius:0;flex-direction:column;display:flex;position:fixed;bottom:0;right:0;overflow-y:auto}#sim-totals h2{margin:0 0 var(--space-2);font-size:var(--fs-lg)}#sim-totals dl{margin:0}.sim-total-row{gap:var(--space-2);padding:var(--space-h) 0;font-size:var(--fs-md);justify-content:space-between;display:flex}.sim-total-row dt{color:var(--muted)}.sim-total-row dd{font-variant-numeric:tabular-nums;margin:0}.sim-total-row.is-total{padding-bottom:var(--space-2);font-size:var(--fs-base);border-bottom:1px solid var(--border);font-weight:600}#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{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);display:inline-block}#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-underline-offset:.2em;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}#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{width:100%;margin-top:var(--space-2);text-align:center;display:block}#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{gap:var(--space-2);align-items:center;display:flex}.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{width:100%;max-width:none;height:100%;max-height:none;padding:var(--space-4);color:var(--fg);background:0 0;border:none;margin:0}#sim-ability-modal[open]{justify-content:center;align-items:center;display:flex}#sim-ability-modal::backdrop{background:#0000008c}.sim-modal-box{width:min(38rem,100%);max-height:80vh;padding:var(--space-4);background:var(--surface-1);border:1px solid var(--border-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-3);flex-direction:column;display:flex;overflow-y:auto}.sim-modal-head{margin-bottom:var(--space-3);justify-content:space-between;align-items:center;display:flex}.sim-modal-head h2{font-size:var(--fs-xl);margin:0}.sim-modal-head button{padding:var(--space-1) var(--space-2);color:var(--fg);font-size:var(--fs-lg);cursor:pointer;background:0 0;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{gap:var(--space-3);padding:var(--space-1) 0;font-size:var(--fs-md);border-bottom:1px solid var(--border);justify-content:space-between;display:flex}.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{bottom:var(--space-6);z-index:30;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);pointer-events:none;margin:0;position:fixed;left:50%;transform:translate(-50%)}#sim-toast:empty{box-shadow:none;background:0 0;padding:0}@media (max-width:720px){#sim-toolbar{z-index:7;max-width:none;max-height:80dvh;padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px));visibility:hidden;border-bottom:none;border-right:none;border-top:1px solid var(--border-strong);border-radius:var(--r-lg) var(--r-lg) 0 0;top:auto;bottom:0;right:0;overflow-y:auto;transform:translateY(101%)}#sim-toolbar.is-open{visibility:visible;transition:transform var(--t-med) var(--e-out);transform:translateY(0)}#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{color:var(--fg);cursor:pointer;font:inherit;padding:var(--space-1) 0;box-shadow:none;background:0 0;border:none;flex-basis:100%;justify-content:center;display:flex}.sim-menu{flex-basis:100%}.sim-menu>button{width:100%}.sim-menu-body{width:auto;max-width:none;margin-top:var(--space-2);box-shadow:none;position:static}.sim-field input{width:7rem}#sim-panel{width:100%;height:var(--sim-panel-user-h,3.5rem);max-height:80dvh;padding:0 var(--space-3);overscroll-behavior:contain;border-radius:var(--r-lg) var(--r-lg) 0 0;border-width:1px 0 0;top:auto}#sim-panel>:last-child{margin-bottom:var(--space-3)}#sim-panel>*{flex:none}#sim-panel-handle{z-index:1;gap:var(--space-1);width:100%;height:3.5rem;color:var(--fg);cursor:grab;background:var(--surface-2);touch-action:none;border:none;flex-direction:column;justify-content:center;padding:0;display:flex;position:sticky;top:0}#sim-panel-handle:active{cursor:grabbing}.sim-grip{background:var(--border-strong);border-radius:var(--r-pill);align-self:center;width:2.25rem;height:.25rem}@media (forced-colors:active){.sim-grip{background:canvastext}}.sim-head-sum{gap:var(--space-2);width:100%;font-size:var(--fs-md);font-variant-numeric:tabular-nums;justify-content:space-between;display:flex}#sim-totals h2{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#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-toast{bottom:calc(var(--sim-panel-h,3.5rem) + var(--space-3))}#sim-fabs{right:var(--space-3);bottom:calc(var(--sim-panel-h,3.5rem) + var(--space-3));z-index:6;gap:var(--space-2);transition:bottom var(--t-fast) var(--e-out);flex-direction:column;display:flex;position:fixed}#sim-fabs button{width:2.75rem;height:2.75rem;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);transition:transform var(--t-press) var(--e-out);place-items:center;padding:0;display:grid}#sim-fabs button:active{transform:scale(var(--p-press))}#sim-fabs svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;width:1.25rem;height:1.25rem}#sim-fab-more svg{fill:currentColor;stroke:none}#sim-scrim{inset:var(--nav-h,3rem) 0 0;z-index:5;background:#00000073;display:block;position:fixed}#sim-scrim[hidden]{display:none}}@media (prefers-reduced-motion:reduce){@media (max-width:720px){#sim-toolbar.is-open,#sim-fabs{transition:none}#sim-fabs button:active{transform:none}}}
