:root{--nbt-navy: #0f1d33;--nbt-navy-2: #1b2f4f;--nbt-red: #c8102e;--nbt-red-dark: #9e0c24;--nbt-wood: #f3e3c8;--nbt-wood-line: #e2cba4;--nbt-paper: #fffdf8;--nbt-line: #e4ddd0;--nbt-text: #18202c;--nbt-muted: #5a6474;--nbt-east: #1d428a;--nbt-west: #c8102e;--nbt-radius: 12px;--nbt-shadow: 0 14px 34px rgba(15, 29, 51, 0.09);--primary: #1b2f4f;--primary-dark: #0f1d33;--border: #e4ddd0;--surface: #ffffff;--shadow-soft: 0 14px 34px rgba(15, 29, 51, 0.09);--surface-muted: #f7f1e6;--text-main: #18202c;--text-muted: #5a6474;}
.nbt-tool{--nbt-tabs-bg: #ece4d6;--nbt-tab-text: var(--nbt-navy-2);--nbt-board-bg: #f7f1e6;--nbt-board-text: var(--nbt-text);--nbt-board-muted: var(--nbt-muted);--nbt-board-line: var(--nbt-wood-line);--nbt-board-strong: var(--nbt-navy);--nbt-board-error: var(--nbt-red-dark);--nbt-board-border: var(--nbt-line);--nbt-card-shadow: 0 1px 3px rgba(15, 29, 51, 0.1);background: var(--nbt-paper);border: 1px solid var(--nbt-line);border-radius: var(--nbt-radius);box-shadow: var(--nbt-shadow);padding: 1.25rem;margin: 1.5rem 0 3rem;}
.nbt-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.25rem 1rem;font-size: 0.82rem;color: var(--nbt-muted);padding-bottom: 0.85rem;margin-bottom: 1rem;border-bottom: 1px dashed var(--nbt-line);}
.nbt-byline .author-link{color: var(--nbt-navy-2);font-weight: 600;text-decoration: underline;text-underline-offset: 2px;}
.nbt-bar{display: flex;flex-wrap: wrap;justify-content: space-between;align-items: center;gap: 0.75rem;margin-bottom: 1.1rem;}
.nbt-modes{display: inline-flex;flex-wrap: wrap;gap: 0.25rem;background: var(--nbt-tabs-bg);border-radius: 999px;padding: 0.3rem;}
.nbt-mode input,.nbt-seg input,.nbt-team input{position: absolute;opacity: 0;pointer-events: none;}
.nbt-mode span{display: block;padding: 0.45rem 1rem;border-radius: 999px;color: var(--nbt-tab-text);font-size: 0.9rem;font-weight: 600;cursor: pointer;transition: background 0.15s, color 0.15s;}
.nbt-mode input:checked + span{background: var(--nbt-red);color: #fff;}
.nbt-mode input:focus-visible + span,.nbt-seg input:focus-visible + span,.nbt-team input:focus-visible ~ .nbt-team-abbr{outline: 2px solid var(--nbt-red);outline-offset: 2px;}
.nbt-top{display: grid;grid-template-columns: minmax(240px, 300px) 1fr;gap: 1.25rem;align-items: start;}
.nbt-controls{background: #fff;border: 1px solid var(--nbt-line);border-radius: 10px;padding: 1rem;display: flex;flex-direction: column;gap: 1rem;}
.nbt-field{border: 0;padding: 0;margin: 0;min-width: 0;}
.nbt-field[hidden]{display: none;}
.nbt-field label,.nbt-field legend{display: block;float: none;width: auto;padding: 0;font-size: 0.72rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: var(--nbt-muted);margin-bottom: 0.4rem;}
.nbt-field-head{display: flex;justify-content: space-between;align-items: baseline;gap: 0.5rem;}
.nbt-link{background: none;border: 0;padding: 0;color: var(--nbt-red);font-size: 0.82rem;font-weight: 600;text-decoration: underline;text-underline-offset: 2px;cursor: pointer;}
.nbt-field textarea{width: 100%;background: var(--nbt-paper);color: var(--nbt-text);border: 1px solid var(--nbt-line);border-radius: 8px;padding: 0.55rem 0.7rem;font-size: 0.95rem;resize: vertical;}
.nbt-field textarea:focus,.nbt-stepper input:focus{outline: 2px solid var(--nbt-red);outline-offset: 1px;border-color: transparent;}
.nbt-field small{display: block;font-size: 0.78rem;color: var(--nbt-muted);margin-top: 0.35rem;}
.nbt-stepper{display: grid;grid-template-columns: 2.5rem 1fr 2.5rem;border: 1px solid var(--nbt-line);border-radius: 8px;overflow: hidden;background: var(--nbt-paper);}
.nbt-stepper button{background: var(--nbt-wood);border: 0;color: var(--nbt-navy);font-size: 1.15rem;font-weight: 700;cursor: pointer;}
.nbt-stepper button:hover{background: var(--nbt-wood-line);}
.nbt-stepper input{border: 0;background: transparent;text-align: center;font-size: 1.1rem;font-weight: 700;color: var(--nbt-text);padding: 0.45rem 0;-moz-appearance: textfield;}
.nbt-stepper input::-webkit-inner-spin-button,.nbt-stepper input::-webkit-outer-spin-button{-webkit-appearance: none;margin: 0;}
.nbt-seg{display: flex;flex-direction: column;gap: 0.3rem;}
.nbt-seg label{position: relative;display: block;margin: 0;font-size: 0.9rem;font-weight: 500;letter-spacing: 0;text-transform: none;color: var(--nbt-text);}
.nbt-seg span{display: block;padding: 0.45rem 0.7rem;border: 1px solid var(--nbt-line);border-radius: 8px;cursor: pointer;background: var(--nbt-paper);}
.nbt-seg input:checked + span{border-color: var(--nbt-navy-2);background: #eef2f8;color: var(--nbt-navy);font-weight: 600;}
.nbt-check{display: flex;gap: 0.5rem;align-items: flex-start;font-size: 0.88rem;color: var(--nbt-text);cursor: pointer;margin: 0;}
.nbt-check input{margin-top: 0.2rem;accent-color: var(--nbt-red);width: 1rem;height: 1rem;flex: none;}
.nbt-go{display: inline-flex;justify-content: center;align-items: center;gap: 0.5rem;background: var(--nbt-red);color: #fff;border: 0;border-radius: 8px;padding: 0.75rem 1rem;font-size: 1rem;font-weight: 700;cursor: pointer;transition: background 0.15s;}
.nbt-go:hover{background: var(--nbt-red-dark);}
.nbt-go:disabled{opacity: 0.7;cursor: progress;}
.nbt-board{background: var(--nbt-board-bg);border: 1px solid var(--nbt-board-border);border-radius: 10px;padding: 1rem;color: var(--nbt-board-text);min-height: 100%;}
.nbt-board-head{display: flex;justify-content: space-between;align-items: flex-start;gap: 0.75rem;margin-bottom: 0.85rem;}
.nbt-status{margin: 0;font-size: 0.9rem;color: var(--nbt-board-muted);}
.nbt-status.is-error{color: var(--nbt-board-error);font-weight: 600;}
.nbt-ghost{display: inline-flex;align-items: center;gap: 0.4rem;flex: none;background: transparent;border: 1px solid var(--nbt-board-line);color: var(--nbt-board-text);border-radius: 8px;padding: 0.35rem 0.75rem;font-size: 0.85rem;cursor: pointer;}
.nbt-ghost:hover,.nbt-ghost.is-done{border-color: var(--nbt-board-strong);color: var(--nbt-board-strong);}
.nbt-pick,.nbt-game,.nbt-assign{box-shadow: var(--nbt-card-shadow);}
.nbt-results{list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 0.5rem;counter-reset: nbt;}
.nbt-pick{display: flex;align-items: center;gap: 0.85rem;background: #fff;color: var(--nbt-text);border-radius: 8px;padding: 0.6rem 0.85rem 0.6rem 0;border-left: 6px solid var(--team, var(--nbt-red));counter-increment: nbt;}
.nbt-pick::before{content: counter(nbt);flex: none;width: 2rem;text-align: right;font-weight: 800;font-size: 1.1rem;color: #a3acb9;font-variant-numeric: tabular-nums;}
.nbt-abbr{flex: none;min-width: 3.1rem;text-align: center;padding: 0.3rem 0.4rem;border-radius: 6px;background: var(--team, var(--nbt-navy));color: #fff;font-weight: 800;font-size: 0.85rem;letter-spacing: 0.04em;}
.nbt-pick-body{display: flex;flex-direction: column;min-width: 0;}
.nbt-pick-name{font-size: 1.08rem;font-weight: 700;line-height: 1.25;}
.nbt-pick-meta{font-size: 0.82rem;color: var(--nbt-muted);}
.nbt-game,.nbt-assign{display: flex;flex-wrap: wrap;align-items: center;gap: 0.5rem 0.65rem;background: #fff;color: var(--nbt-text);border-radius: 8px;padding: 0.6rem 0.75rem;}
.nbt-team-chip{display: inline-flex;align-items: center;gap: 0.45rem;font-weight: 600;font-size: 0.95rem;}
.nbt-team-chip b{min-width: 2.9rem;text-align: center;padding: 0.25rem 0.35rem;border-radius: 6px;background: var(--team, var(--nbt-navy));color: #fff;font-size: 0.8rem;letter-spacing: 0.04em;}
.nbt-at{font-size: 0.78rem;font-weight: 700;text-transform: uppercase;color: #a3acb9;}
.nbt-kind{margin-left: auto;font-size: 0.75rem;font-weight: 600;padding: 0.2rem 0.55rem;border-radius: 999px;background: var(--nbt-wood);color: #6b4b16;}
.nbt-player{min-width: 6.5rem;font-weight: 800;color: var(--nbt-navy);}
.nbt-player::after{content: "\2192";margin-left: 0.5rem;color: #a3acb9;font-weight: 400;}
.is-new{animation: nbt-in 0.32s ease-out both;}
@keyframes nbt-in{from{opacity: 0;transform: translateY(6px);}to{opacity: 1;transform: none;}}
.nbt-pool{border: 1px solid var(--nbt-wood-line);border-radius: 10px;margin: 1.25rem 0 0;padding: 1rem;background: var(--nbt-wood);background-image: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0) 0, rgba(255, 255, 255, 0) 62px, rgba(160, 120, 60, 0.07) 62px, rgba(160, 120, 60, 0.07) 64px);}
.nbt-pool legend{float: left;width: 100%;display: flex;justify-content: space-between;align-items: baseline;font-size: 1rem;font-weight: 800;color: var(--nbt-navy);margin-bottom: 0.6rem;padding: 0;}
.nbt-pool-count{font-size: 0.85rem;font-weight: 500;color: #6b4b16;}
.nbt-pool-count b{font-size: 1.05rem;color: var(--nbt-navy);}
.nbt-presets{clear: both;display: flex;flex-wrap: wrap;gap: 0.35rem;margin-bottom: 0.9rem;}
.nbt-preset{background: #fff;border: 1px solid var(--nbt-wood-line);color: var(--nbt-navy);border-radius: 999px;padding: 0.3rem 0.75rem;font-size: 0.82rem;font-weight: 600;cursor: pointer;}
.nbt-preset small{color: var(--nbt-muted);font-weight: 500;margin-left: 0.15rem;}
.nbt-preset:hover{border-color: var(--nbt-navy);}
.nbt-preset-east{border-color: var(--nbt-east);color: var(--nbt-east);}
.nbt-preset-west{border-color: var(--nbt-west);color: var(--nbt-west);}
.nbt-confs{display: grid;grid-template-columns: 1fr 1fr;gap: 1rem;}
.nbt-conf h3{font-size: 0.75rem;font-weight: 800;letter-spacing: 0.1em;text-transform: uppercase;margin: 0 0 0.5rem;padding-bottom: 0.3rem;border-bottom: 3px solid;}
.nbt-conf-east h3{color: var(--nbt-east);border-color: var(--nbt-east);}
.nbt-conf-west h3{color: var(--nbt-west);border-color: var(--nbt-west);}
.nbt-divs{display: grid;grid-template-columns: repeat(3, 1fr);gap: 0.6rem;}
.nbt-div ul{list-style: none;margin: 0;padding: 0;display: flex;flex-direction: column;gap: 0.3rem;}
.nbt-div-toggle{display: block;width: 100%;text-align: left;background: none;border: 0;padding: 0 0 0.3rem;font-size: 0.78rem;font-weight: 700;color: #6b4b16;cursor: pointer;}
.nbt-div-toggle:hover{color: var(--nbt-navy);text-decoration: underline;}
.nbt-team{position: relative;display: flex;align-items: center;gap: 0.4rem;background: #fff;border: 1px solid var(--nbt-wood-line);border-left: 4px solid var(--team);border-radius: 6px;padding: 0.3rem 0.45rem;margin: 0;cursor: pointer;transition: opacity 0.15s, background 0.15s;}
.nbt-team-abbr{font-size: 0.75rem;font-weight: 800;color: var(--nbt-navy);min-width: 2rem;}
.nbt-team-name{font-size: 0.8rem;color: var(--nbt-text);white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.nbt-team:has(input:not(:checked)){background: transparent;border-left-color: var(--nbt-wood-line);opacity: 0.5;}
.nbt-team:has(input:not(:checked)) .nbt-team-name{text-decoration: line-through;}
.nbt-read{margin: 0 auto 2.5rem;color: var(--nbt-text);}
.nbt-read h2,.nbt-limits h2{font-size: 1.5rem;font-weight: 800;color: var(--nbt-navy);margin-bottom: 0.75rem;}
.nbt-read p{line-height: 1.7;}
.nbt-table-wrap{overflow-x: auto;margin: 1rem 0;border: 1px solid var(--nbt-line);border-radius: 10px;}
.nbt-recipes,.nbt-compare{width: 100%;border-collapse: collapse;font-size: 0.92rem;}
.nbt-recipes th,.nbt-recipes td,.nbt-compare th,.nbt-compare td{padding: 0.65rem 0.8rem;border-bottom: 1px solid var(--nbt-line);text-align: left;vertical-align: top;}
.nbt-recipes thead th,.nbt-compare thead th{background: #f3ece0;color: var(--nbt-navy);font-size: 0.78rem;letter-spacing: 0.05em;text-transform: uppercase;}
.nbt-recipes tbody th{font-weight: 700;color: var(--nbt-navy);min-width: 11rem;}
.nbt-recipes tbody tr:nth-child(even),.nbt-compare tbody tr:nth-child(even){background: #faf6ee;}
.nbt-compare td{font-variant-numeric: tabular-nums;}
.nbt-stats{list-style: none;padding: 0;margin: 1.25rem 0;display: grid;grid-template-columns: repeat(4, 1fr);gap: 0.75rem;}
.nbt-stats li{background: #fff;border: 1px solid var(--nbt-line);border-top: 4px solid var(--nbt-red);border-radius: 8px;padding: 0.85rem;}
.nbt-stats b{display: block;font-size: 1.6rem;font-weight: 800;color: var(--nbt-navy);line-height: 1.1;margin-bottom: 0.35rem;}
.nbt-stats span{font-size: 0.85rem;color: var(--nbt-muted);line-height: 1.45;display: block;}
.nbt-code{background: #faf6ee;border: 1px solid var(--nbt-line);color: var(--nbt-navy-2);border-radius: 8px;padding: 0.9rem 1rem;font-size: 0.88rem;overflow-x: auto;margin: 1rem 0;}
.nbt-code code{color: inherit;background: none;}
.nbt-read p code{background: #f2ede3;color: var(--nbt-red-dark);padding: 0.1rem 0.35rem;border-radius: 4px;}
.nbt-rules{padding-left: 1.2rem;}
.nbt-rules li{margin-bottom: 0.45rem;line-height: 1.6;}
.nbt-eras{list-style: none;padding: 0;margin: 1.25rem 0;position: relative;border-left: 3px solid var(--nbt-wood-line);}
.nbt-era{position: relative;padding: 0 0 1rem 1.25rem;}
.nbt-era::before{content: "";position: absolute;left: -9px;top: 0.35rem;width: 15px;height: 15px;border-radius: 50%;background: var(--nbt-paper);border: 3px solid var(--era);}
.nbt-era h3{font-size: 1.05rem;font-weight: 800;color: var(--nbt-navy);margin: 0 0 0.3rem;}
.nbt-era h3 small{font-size: 0.78rem;font-weight: 600;color: var(--era);margin-left: 0.35rem;}
.nbt-era p{margin: 0;}
.nbt-era-founders{--era: #8a5a12;}
.nbt-era-expansion{--era: #1d428a;}
.nbt-era-aba{--era: #c8102e;}
.nbt-era-modern{--era: #127a63;}
.nbt-limits{margin: 0 auto 3rem;background: #fff7f2;border: 1px solid #f1d5c6;border-left: 5px solid var(--nbt-red);border-radius: 10px;padding: 1.25rem 1.4rem;color: var(--nbt-text);}
.nbt-limits ul{margin: 0;padding-left: 1.1rem;}
.nbt-limits li{margin-bottom: 0.5rem;line-height: 1.6;}
@media (max-width: 991px){.nbt-top{grid-template-columns: 1fr;}.nbt-confs{grid-template-columns: 1fr;}.nbt-stats{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 575px){.nbt-tool{padding: 0.9rem;}.nbt-modes{display: flex;border-radius: 12px;}.nbt-mode{flex: 1 1 auto;}.nbt-mode span{text-align: center;padding: 0.45rem 0.6rem;font-size: 0.85rem;}.nbt-divs{grid-template-columns: 1fr 1fr;}.nbt-pick-name{font-size: 1rem;}.nbt-kind{margin-left: 0;}.nbt-stats{grid-template-columns: 1fr;}.nbt-board-head{flex-direction: column;}}