.dice-selector{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:8px;margin-bottom:.5rem}.dice-selector--red{background-color:#fee2e2;border:2px solid #ef4444}.dice-selector--black{background-color:#e5e7eb;border:2px solid #374151}.dice-selector--white{background-color:#f9fafb;border:2px solid #d1d5db}.dice-selector__label{font-weight:600;text-transform:capitalize;font-size:1.1rem;min-width:60px}.dice-selector__controls{display:flex;align-items:center;gap:.75rem}.dice-selector__btn{width:36px;height:36px;border-radius:50%;border:1px solid #ccc;background:#fff;font-size:1.2rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s}.dice-selector__btn:hover:not(:disabled){background-color:#f3f4f6}.dice-selector__btn:disabled{opacity:.4;cursor:not-allowed}.dice-selector__count{font-size:1.5rem;font-weight:700;min-width:2ch;text-align:center}.surge-toggle{border:none;padding:0;margin:1rem 0}.surge-toggle__legend{font-weight:600;font-size:1.1rem;margin-bottom:.5rem}.surge-toggle__options{display:flex;gap:.5rem}.surge-toggle__option{flex:1;padding:.5rem 1rem;border:2px solid #d1d5db;border-radius:8px;text-align:center;cursor:pointer;font-weight:500;transition:all .15s}.surge-toggle__option--active{border-color:#3b82f6;background-color:#eff6ff;color:#1d4ed8}.surge-toggle__radio{display:none}.defense-dice-toggle .surge-toggle__option:first-child{background:#fee2e2;border:2px solid #ef4444}.defense-dice-toggle .surge-toggle__option:first-child.surge-toggle__option--active{background:#fecaca;border-color:#b91c1c;box-shadow:0 0 0 2px #b91c1c;color:#991b1b;font-weight:600}.defense-dice-toggle .surge-toggle__option:last-child{background:#f9fafb;border:2px solid #d1d5db}.defense-dice-toggle .surge-toggle__option:last-child.surge-toggle__option--active{background:#e5e7eb;border-color:#6b7280;box-shadow:0 0 0 2px #6b7280;color:#1f2937;font-weight:600}.defense-dice-toggle__check{font-weight:700}.tooltip-wrapper{position:relative;display:inline-block}.tooltip-wrapper--full{display:block;width:100%}.tooltip-wrapper .checkbox-toggle{margin-right:5px}.tooltip-wrapper .tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-.25rem);padding:.35rem .5rem;font-size:.75rem;line-height:1.3;color:var(--tooltip-text, #1a1a1a);background:var(--tooltip-bg, #f0f0f0);border:1px solid var(--tooltip-border, #ccc);border-radius:4px;white-space:normal;max-width:220px;text-align:center;box-shadow:0 2px 8px #0000001f;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .15s ease,visibility .15s ease,transform .15s ease;z-index:100}.tooltip-wrapper:hover .tooltip{opacity:1;visibility:visible}.tooltip-wrapper .tooltip{transition-delay:.2s}.tooltip-wrapper:hover .tooltip{transition-delay:0s}.checkbox-toggle{display:flex;align-items:center;gap:.5rem;margin-top:.5rem;cursor:pointer}.checkbox-toggle__label{font-size:.95rem;font-weight:600}.checkbox-toggle__label-link{color:inherit;text-decoration:none}.checkbox-toggle__label-link:hover{text-decoration:underline}.checkbox-toggle__input{margin:0}.checkbox-toggle--disabled{cursor:not-allowed}.checkbox-toggle--disabled .checkbox-toggle__label{color:#9ca3af}.checkbox-toggle--disabled .checkbox-toggle__label-link{color:#9ca3af;pointer-events:none}.num-input{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;gap:.5rem}.num-input__label{font-weight:600;font-size:.95rem;white-space:nowrap;min-width:0}.num-input__label-link{color:inherit;text-decoration:none}.num-input__label-link:hover{text-decoration:underline}.num-input--disabled .num-input__label-link{color:inherit;pointer-events:none}.num-input__controls{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.num-input__btn{width:28px;height:28px;border-radius:50%;border:1px solid #d1d5db;background:#f9fafb;font-size:1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .15s,border-color .15s;padding:0;color:#374151}.num-input__btn:hover:not(:disabled){background-color:#e5e7eb;border-color:#9ca3af}.num-input__btn:disabled{opacity:.35;cursor:not-allowed}.num-input__field{width:3.5rem;padding:.25rem .4rem;border:1.5px solid #d1d5db;border-radius:6px;font-size:.95rem;text-align:center;transition:border-color .15s;-moz-appearance:textfield}.num-input__field::-webkit-outer-spin-button,.num-input__field::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.num-input__field:focus{outline:none;border-color:#3b82f6}.num-input--disabled .num-input__label{color:#9ca3af}.num-input__field:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed}.stats-summary{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.stats-summary__stat{flex:1;text-align:center;padding:1rem;background:#f9fafb;border-radius:8px;border:1px solid #e5e7eb}.stats-summary__stat--total{background:#eff6ff;border-color:#3b82f6}.stats-summary__stat--efficiency{background:#f0fdf4;border-color:#22c55e}.stats-summary__stat--wounds{background:#fee2e2;border-color:#dc2626}.stats-summary__value{display:block;font-size:2rem;font-weight:700;color:#111827}.stats-summary__label{display:block;font-size:.85rem;color:#6b7280;margin-top:.25rem;text-transform:uppercase;letter-spacing:.05em}.cumulative-table{width:100%;border-collapse:collapse;font-size:.95rem}.cumulative-table th,.cumulative-table td{padding:.5rem 1rem;text-align:center;border-bottom:1px solid #e5e7eb}.cumulative-table th{background:#f9fafb;font-weight:600;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em;color:#6b7280}.cumulative-table tbody tr:nth-child(2n){background:#f9fafb}.cumulative-table tbody tr:hover{background:#eff6ff}.app{max-width:960px;margin:0 auto;padding:1rem;font-family:system-ui,-apple-system,sans-serif}.app__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;gap:1rem}.app__header-title{display:flex;flex-direction:column;gap:.25rem}.app__header h1{font-size:1.8rem;color:#111827;margin:0}.app__header-subtitle{font-size:.95rem;color:#6b7280;margin:0;font-style:italic}.app__header-actions{display:flex;gap:.5rem}.app__reset{padding:.5rem 1rem;font-size:.95rem;font-weight:600;color:#374151;background:#f3f4f6;border:2px solid #d1d5db;border-radius:8px;cursor:pointer;transition:background-color .15s,border-color .15s}.app__reset:hover{background:#e5e7eb;border-color:#9ca3af}.app__layout{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:768px){.app__layout{grid-template-columns:300px 1fr}}.app__pool h2,.app__results h2,.app__results h3{margin-top:0;color:#111827}.app__attack-pool{padding-bottom:.75rem}.app__defense-pool{margin-top:.75rem;padding-top:.75rem;border-top:2px solid #d1d5db}.app__defense-pool .app__section-heading:first-child{margin-top:0}.app__section-heading{margin:1rem 0 .25rem;font-size:1.1rem;color:#374151}.app__results-heading{margin-top:1.5rem;margin-bottom:.5rem;font-size:1.1rem;color:#111827}.app__results .app__results-heading:first-child{margin-top:0}.app__point-cost{margin-top:1rem;display:flex;flex-direction:column;gap:.25rem}.app__point-cost label{font-weight:600;font-size:1.1rem}.app__point-cost input{padding:.5rem .75rem;border:2px solid #d1d5db;border-radius:8px;font-size:1rem;transition:border-color .15s}.app__point-cost input:focus{outline:none;border-color:#3b82f6}.app__empty{text-align:center;color:#9ca3af;font-size:1.1rem;padding:3rem 0}.app__github-note{margin-top:2rem;margin-bottom:.5rem;font-size:.95rem;color:#6b7280}.app__github-note a{color:#3b82f6;text-decoration:none}.app__github-note a:hover{text-decoration:underline}.app__footer{margin-top:0;margin-bottom:0;font-size:.9rem;color:#6b7280}.app__footer a{color:#3b82f6;text-decoration:none}.app__footer a:hover{text-decoration:underline}
