.android-large-table > .main-background.npcsim { box-sizing:border-box; width:100%; min-width:0; max-width:none; padding:24px; text-align:left; }
.npcsim { --line:#d9d0c1; --accent:#80613d; --ink:#382d21; color:var(--ink); }
.npcsim .sim-inner { max-width:1220px; margin:0; }
.npcsim h1 { font-size:29px; line-height:1.4; margin:0 0 20px; }
.npcsim h2 { font-size:18px; line-height:1.5; font-weight:bold; margin:0 0 14px; }
.npcsim .sim-workspace { display:grid; grid-template-columns:minmax(0,1fr) 385px; gap:20px; align-items:start; }
.npcsim .sim-panel { border:1px solid var(--line); border-radius:5px; padding:18px; margin-bottom:18px; background:#fffdf9; }
.npcsim .sim-controls { display:flex; flex-wrap:wrap; gap:12px; align-items:end; }
.npcsim label { display:flex; flex-direction:column; gap:5px; font-size:13px; }
.npcsim select,.npcsim input { box-sizing:border-box; padding:7px 9px; min-height:36px; border:1px solid #bcb1a0; border-radius:3px; color:#332b21; background:#fff; font:inherit; }
.npcsim input[type=number] { width:94px; }
.npcsim button { padding:8px 13px; min-height:36px; border:1px solid #b8aa94; border-radius:3px; background:#f2ece2; color:#4e3d27; font:inherit; font-size:13px; cursor:pointer; }
.npcsim button.primary { background:#80613d; border-color:#80613d; color:white; font-weight:bold; }
.npcsim button:hover:not(:disabled) { filter:brightness(.94); }
.npcsim button:disabled { opacity:.45; cursor:not-allowed; }
.npcsim button:focus-visible,.npcsim select:focus-visible,.npcsim input:focus-visible { outline:3px solid #4c7ca0; outline-offset:2px; }
.npcsim .slots { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin:15px 0 10px; }
.npcsim .slot-card { padding:10px 7px; border:1px solid var(--line); background:white; text-align:center; }
.npcsim .slot-card.selected { border-color:#80613d; box-shadow:inset 0 0 0 1px #80613d; background:#f9efd9; }
.npcsim .slot-card strong { display:block; margin-top:5px; overflow-wrap:anywhere; }
.npcsim .slot-card small { display:block; margin-top:4px; font-size:11px; }
.npcsim .slot-actions { display:flex; justify-content:space-between; align-items:center; gap:8px; }
.npcsim .op-list { display:grid; grid-template-columns:1fr 1fr; gap:7px; margin-top:14px; max-height:390px; overflow:auto; padding:2px; }
.npcsim .op-choice { display:flex; flex-direction:column; gap:4px; min-width:0; padding:10px 11px; text-align:left; background:white; }
.npcsim .op-choice.chosen { border-color:#80613d; background:#f8efd9; box-shadow:inset 0 0 0 1px #80613d; }
.npcsim .op-choice strong { font-size:14px; }
.npcsim .op-choice span { font-size:12px; line-height:1.5; }
.npcsim .op-choice small { font-size:11px; color:#74634c; }
.npcsim .apply-row { display:flex; align-items:center; gap:12px; margin-top:14px; }
.npcsim .hint { color:#685b4a; font-size:12px; line-height:1.6; }
.npcsim .game-item { background:#050505; color:#fff; border:2px solid #8c8061; box-shadow:0 3px 14px #0003,inset 0 0 0 2px #242017; padding:17px; font:14px/1.7 'MS PGothic',Meiryo,sans-serif; overflow-wrap:anywhere; }
.npcsim .item-heading { display:flex; gap:12px; align-items:center; border-bottom:1px solid #5b5444; padding-bottom:12px; margin-bottom:12px; }
.npcsim .item-heading img { width:56px; height:56px; object-fit:contain; image-rendering:pixelated; flex:none; }
.npcsim .item-name { color:#f4df92; font-weight:bold; }
.npcsim .item-section { color:#ffff00; margin-top:12px; }
.npcsim .item-op { color:#78cbff; margin:5px 0; }
.npcsim .item-op b { font-weight:normal; color:#c9a4ff; }
.npcsim .item-muted { color:#b7b7b7; }
.npcsim .broken { color:#ff6565; font-weight:bold; }
.npcsim .side-panel { position:sticky; top:16px; }
.npcsim .preview-tools { display:flex; justify-content:space-between; margin:12px 0 18px; gap:10px; }
.npcsim .probabilities { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:14px 0; }
.npcsim .probabilities div { padding:10px 5px; background:#f1ede5; border-radius:3px; text-align:center; font-size:12px; }
.npcsim .probabilities strong { display:block; margin-top:4px; font-size:23px; color:#3d6b43; }
.npcsim .probabilities .destroy strong { color:#a13f38; }
.npcsim .batch { margin-top:15px; padding-top:14px; border-top:1px solid var(--line); }
.npcsim .batch .checkbox { display:inline-flex; flex-direction:row; align-items:center; gap:5px; }
.npcsim .checkbox input { min-height:0; }
.npcsim .outcome { min-height:24px; margin-top:12px; font-size:14px; line-height:1.6; font-weight:bold; }
.npcsim .outcome[data-kind=error],.npcsim .outcome[data-kind=destruction] { color:#a12d2d; }
.npcsim .outcome[data-kind=success] { color:#31713d; }
.npcsim .totals { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:0; }
.npcsim .totals div { border-bottom:1px solid var(--line); padding:8px 0; }
.npcsim .totals dt { font-size:12px; display:flex; align-items:center; gap:4px; color:#685b4a; }
.npcsim .totals img { width:26px; height:26px; object-fit:contain; }
.npcsim .totals dd { margin:4px 0 0; font-size:24px; font-weight:bold; }
.npcsim .stat-line { font-size:12px; margin:12px 0 0; line-height:1.8; }
.npcsim .table-scroll { overflow-x:auto; max-width:100%; }
.npcsim table#table10 { width:100%; max-width:1220px; min-width:650px; margin:0; table-layout:fixed; }
.npcsim table#table10 td { padding:8px; line-height:1.6; text-align:left; overflow-wrap:anywhere; vertical-align:top; }
.npcsim table#table10 th { padding:8px; }
.npcsim .log-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:12px; }
.npcsim .log-toolbar h2 { margin:0 auto 0 0; }
.npcsim .pager { display:flex; justify-content:flex-end; gap:10px; align-items:center; margin-top:12px; }
.npcsim .material-list { display:flex; flex-wrap:wrap; gap:8px 20px; font-size:12px; margin:14px 0; }
.npcsim .material-list span { overflow-wrap:anywhere; }
.npcsim .related { margin-top:18px; font-size:13px; line-height:1.8; }
.npcsim .requirement-options { margin-top:14px; align-items:flex-start; }
.npcsim .requirement-result { margin-top:16px; font-size:15px; }
.npcsim .requirement-result output { margin:0 6px; font-size:28px; font-weight:bold; color:#3d6b43; }
.npcsim .requirement-error { margin-top:8px; color:#a12d2d; font-size:13px; }
.npcsim #supplement h3 { margin:18px 0 10px; font-size:16px; line-height:1.5; font-weight:bold; }
.npcsim .expectation-scope { margin:0; font-size:13px; line-height:1.8; }
.npcsim #supplement table#table10 { max-width:800px; }
.npcsim #supplement table#table10 td:not(:first-child) { text-align:center; font-variant-numeric:tabular-nums; }
.npcsim .expectation-material { display:inline-flex; align-items:center; justify-content:center; gap:5px; }
.npcsim .expectation-material img { object-fit:contain; flex:none; }
@media(max-width:1100px) { .npcsim .sim-workspace { grid-template-columns:minmax(0,1fr) 335px; gap:14px; } .android-large-table > .main-background.npcsim { padding:18px; } }
@media(max-width:820px) { .npcsim .sim-workspace { grid-template-columns:1fr; } .npcsim .side-panel { position:static; } .npcsim .game-item { max-width:480px; } }
