:root{--ncb-navy: #10213d;--ncb-navy-2: #1f3a66;--ncb-orange: #e2591b;--ncb-orange-dark: #b8430f;--ncb-wood: #f6e7cf;--ncb-wood-line: #e6cfa8;--ncb-paper: #fffcf6;--ncb-line: #e6dfd2;--ncb-text: #172033;--ncb-muted: #586274;--ncb-win: #0f7a4a;--ncb-radius: 12px;--ncb-shadow: 0 14px 34px rgba(16, 33, 61, 0.09);--primary: #1f3a66;--primary-dark: #10213d;--border: #e6dfd2;--surface: #ffffff;--shadow-soft: 0 14px 34px rgba(16, 33, 61, 0.09);--surface-muted: #f8f2e7;--text-main: #172033;--text-muted: #586274;}
.ncb-tool{background: var(--ncb-paper);border: 1px solid var(--ncb-line);border-radius: var(--ncb-radius);box-shadow: var(--ncb-shadow);padding: 1.25rem;margin: 1.5rem 0 3rem;}
.ncb-byline{display: flex;flex-wrap: wrap;justify-content: space-between;gap: 0.25rem 1rem;font-size: 0.82rem;color: var(--ncb-muted);padding-bottom: 0.85rem;margin-bottom: 1rem;border-bottom: 1px dashed var(--ncb-line);}
.ncb-byline .author-link{color: var(--ncb-navy-2);font-weight: 600;text-decoration: underline;text-underline-offset: 2px;}
.ncb-grid{display: grid;grid-template-columns: minmax(250px, 300px) minmax(0, 1fr);gap: 1.25rem;align-items: start;}
.ncb-panel{background: #fff;border: 1px solid var(--ncb-line);border-radius: 10px;padding: 1rem;display: flex;flex-direction: column;gap: 1.1rem;}
.ncb-modes{display: grid;grid-template-columns: 1fr 1fr;gap: 0.25rem;background: #efe6d6;border-radius: 999px;padding: 0.3rem;}
.ncb-mode input,.ncb-seg input,.ncb-chip input{position: absolute;opacity: 0;pointer-events: none;}
.ncb-mode span{display: block;text-align: center;padding: 0.45rem 0.5rem;border-radius: 999px;color: var(--ncb-navy-2);font-size: 0.88rem;font-weight: 600;cursor: pointer;transition: background 0.15s, color 0.15s;}
.ncb-mode input:checked + span{background: var(--ncb-orange);color: #fff;}
.ncb-mode input:focus-visible + span,.ncb-seg input:focus-visible + span,.ncb-chip input:focus-visible + span,.ncb-check input:focus-visible{outline: 2px solid var(--ncb-orange);outline-offset: 2px;}
.ncb-field{border: 0;padding: 0;margin: 0;min-width: 0;display: flex;flex-direction: column;gap: 0.5rem;}
.ncb-field legend,.ncb-field > label{font-size: 0.8rem;font-weight: 700;letter-spacing: 0.04em;text-transform: uppercase;color: var(--ncb-muted);margin-bottom: 0.1rem;padding: 0;}
.ncb-seg{display: grid;grid-template-columns: repeat(3, 1fr);border: 1px solid var(--ncb-line);border-radius: 8px;overflow: hidden;}
.ncb-seg label{margin: 0;}
.ncb-seg span{display: block;text-align: center;padding: 0.45rem 0.25rem;font-size: 0.85rem;font-weight: 600;color: var(--ncb-text);cursor: pointer;border-right: 1px solid var(--ncb-line);}
.ncb-seg label:last-child span{border-right: 0;}
.ncb-seg input:checked + span{background: var(--ncb-navy-2);color: #fff;}
.ncb-check{display: flex;align-items: center;gap: 0.5rem;font-size: 0.9rem;color: var(--ncb-text);cursor: pointer;margin: 0;}
.ncb-check input{width: 1rem;height: 1rem;accent-color: var(--ncb-orange);}
.ncb-stepper{display: grid;grid-template-columns: 2.5rem 1fr 2.5rem;border: 1px solid var(--ncb-line);border-radius: 8px;overflow: hidden;}
.ncb-stepper button{border: 0;background: #f4ede0;color: var(--ncb-navy);font-size: 1.15rem;font-weight: 700;cursor: pointer;}
.ncb-stepper button:hover{background: var(--ncb-wood);}
.ncb-stepper input{border: 0;text-align: center;font-size: 1rem;font-weight: 700;color: var(--ncb-text);padding: 0.45rem 0;min-width: 0;-moz-appearance: textfield;}
.ncb-stepper input::-webkit-outer-spin-button,.ncb-stepper input::-webkit-inner-spin-button{-webkit-appearance: none;margin: 0;}
.ncb-presets{display: flex;flex-wrap: wrap;gap: 0.35rem;}
.ncb-preset{border: 1px solid var(--ncb-line);background: #fff;color: var(--ncb-navy-2);font-size: 0.78rem;font-weight: 600;border-radius: 999px;padding: 0.25rem 0.65rem;cursor: pointer;}
.ncb-preset:hover{border-color: var(--ncb-navy-2);}
.ncb-tier{font-size: 0.75rem;color: var(--ncb-muted);margin: 0.35rem 0 0;font-weight: 600;}
.ncb-chips{display: flex;flex-wrap: wrap;gap: 0.35rem;}
.ncb-chip{margin: 0;cursor: pointer;}
.ncb-chip span{display: inline-flex;align-items: center;gap: 0.35rem;padding: 0.3rem 0.6rem;border-radius: 6px;border: 1px solid var(--ncb-line);font-size: 0.82rem;font-weight: 600;color: var(--ncb-muted);background: #faf7f1;transition: background 0.15s, color 0.15s, border-color 0.15s;}
.ncb-chip span::before{content: "";width: 0.55rem;height: 0.55rem;border-radius: 50%;background: var(--conf);opacity: 0.35;}
.ncb-chip input:checked + span{background: #fff;color: var(--ncb-text);border-color: var(--conf);}
.ncb-chip input:checked + span::before{opacity: 1;}
.ncb-go{border: 0;border-radius: 10px;background: var(--ncb-orange);color: #fff;font-size: 1rem;font-weight: 700;padding: 0.75rem 1rem;cursor: pointer;display: flex;align-items: center;justify-content: center;gap: 0.5rem;transition: background 0.15s;}
.ncb-go:hover{background: var(--ncb-orange-dark);}
.ncb-go:disabled{opacity: 0.7;cursor: wait;}
.ncb-court{min-width: 0;background: var(--ncb-wood);background-image: repeating-linear-gradient(90deg, transparent 0 46px, var(--ncb-wood-line) 46px 47px);border: 1px solid var(--ncb-wood-line);border-radius: 10px;padding: 1rem;}
.ncb-court-head{display: flex;justify-content: space-between;align-items: flex-start;gap: 0.75rem;margin-bottom: 0.9rem;}
.ncb-status{margin: 0;font-size: 0.9rem;color: var(--ncb-text);background: rgba(255, 255, 255, 0.85);border-radius: 8px;padding: 0.45rem 0.7rem;}
.ncb-status.is-error{color: #a3260d;font-weight: 600;}
.ncb-ghost{flex-shrink: 0;border: 1px solid var(--ncb-wood-line);background: #fff;color: var(--ncb-navy);font-size: 0.85rem;font-weight: 600;border-radius: 8px;padding: 0.4rem 0.75rem;cursor: pointer;}
.ncb-ghost.is-done{border-color: var(--ncb-win);color: var(--ncb-win);}
.ncb-bracket{display: grid;grid-auto-flow: column;grid-auto-columns: minmax(165px, 1fr);gap: 0.75rem;overflow-x: auto;padding-bottom: 0.25rem;}
.ncb-round{display: flex;flex-direction: column;min-width: 0;}
.ncb-round-label{font-size: 0.72rem;font-weight: 700;letter-spacing: 0.06em;text-transform: uppercase;color: var(--ncb-navy-2);margin: 0 0 0.5rem;}
.ncb-games{flex: 1;display: flex;flex-direction: column;justify-content: space-around;gap: 0.6rem;list-style: none;padding: 0;margin: 0;}
.ncb-game{position: relative;background: #fff;border-radius: 8px;box-shadow: 0 1px 3px rgba(16, 33, 61, 0.12);overflow: hidden;}
.ncb-game.is-new{animation: ncb-in 0.3s ease both;}
.ncb-slot{display: grid;grid-template-columns: 1.6rem minmax(0, 1fr) auto;align-items: center;gap: 0.4rem;padding: 0.4rem 0.5rem;border-left: 4px solid var(--conf);font-size: 0.86rem;color: var(--ncb-text);}
.ncb-slot + .ncb-slot{border-top: 1px solid var(--ncb-line);}
.ncb-seed{font-size: 0.75rem;font-weight: 700;color: var(--ncb-muted);text-align: center;}
.ncb-slot-name{white-space: nowrap;overflow: hidden;text-overflow: ellipsis;}
.ncb-slot-conf{font-size: 0.68rem;color: var(--ncb-muted);white-space: nowrap;}
.ncb-slot.is-won{font-weight: 700;}
.ncb-slot.is-won .ncb-slot-name::after{content: " \2713";color: var(--ncb-win);}
.ncb-slot.is-lost{color: var(--ncb-muted);}
.ncb-slot.is-lost .ncb-slot-name{text-decoration: line-through;text-decoration-color: rgba(88, 98, 116, 0.5);}
.ncb-upset-tag{position: absolute;top: 0;right: 0;background: var(--ncb-orange);color: #fff;font-size: 0.62rem;font-weight: 700;text-transform: uppercase;letter-spacing: 0.05em;padding: 0.05rem 0.35rem;border-bottom-left-radius: 6px;}
.ncb-game.is-upset .ncb-slot-conf{visibility: hidden;}
.ncb-champ{align-self: center;display: flex;flex-direction: column;gap: 0.2rem;background: var(--ncb-navy);color: #fff;border-radius: 10px;border-top: 5px solid var(--ncb-orange);padding: 0.9rem;text-align: center;}
.ncb-champ-label{font-size: 0.7rem;font-weight: 700;letter-spacing: 0.08em;text-transform: uppercase;color: #ffc29e;}
.ncb-champ-seed{font-size: 0.8rem;color: #c9d4e6;}
.ncb-champ strong{font-size: 1.05rem;line-height: 1.25;}
.ncb-champ-meta{font-size: 0.78rem;color: #c9d4e6;}
.ncb-draw{list-style: none;padding: 0;margin: 0;display: grid;grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));gap: 0.6rem;}
.ncb-pick{display: flex;gap: 0.65rem;align-items: center;background: #fff;border-radius: 8px;border-left: 5px solid var(--conf);box-shadow: 0 1px 3px rgba(16, 33, 61, 0.12);padding: 0.65rem 0.75rem;}
.ncb-pick.is-new{animation: ncb-in 0.3s ease both;}
.ncb-pick-n{font-size: 0.8rem;font-weight: 700;color: var(--ncb-muted);min-width: 1.2rem;}
.ncb-pick-body{display: flex;flex-direction: column;min-width: 0;}
.ncb-pick-name{font-weight: 700;color: var(--ncb-text);line-height: 1.25;}
.ncb-pick-meta{font-size: 0.78rem;color: var(--ncb-muted);}
@keyframes ncb-in{from{opacity: 0;transform: translateY(6px);}to{opacity: 1;transform: none;}}
.ncb-read,.ncb-limits{margin: 0 auto 2.5rem;color: var(--ncb-text);}
.ncb-read h2,.ncb-limits h2{font-size: 1.5rem;font-weight: 800;color: var(--ncb-navy);margin-bottom: 0.75rem;}
.ncb-read p{line-height: 1.7;}
.ncb-steps{padding-left: 1.25rem;line-height: 1.7;}
.ncb-steps li{margin-bottom: 0.6rem;}
.ncb-steps li::marker{color: var(--ncb-orange);font-weight: 700;}
.ncb-code{background: var(--ncb-navy);color: #f3e8d6;border-radius: 10px;padding: 1rem 1.15rem;font-size: 0.88rem;line-height: 1.6;overflow-x: auto;}
.ncb-code code{color: inherit;}
.ncb-table-wrap{overflow-x: auto;border: 1px solid var(--ncb-line);border-radius: 10px;margin-bottom: 1rem;}
.ncb-table{width: 100%;border-collapse: collapse;font-size: 0.92rem;background: #fff;}
.ncb-table th,.ncb-table td{padding: 0.6rem 0.8rem;border-bottom: 1px solid var(--ncb-line);text-align: left;vertical-align: top;}
.ncb-table thead th{background: var(--ncb-navy);color: #fff;font-size: 0.8rem;font-weight: 700;}
.ncb-table tbody th{font-weight: 700;white-space: nowrap;color: var(--ncb-navy-2);}
.ncb-table tbody tr:nth-child(5) td{background: #fdf0e6;}
.ncb-table tbody tr:last-child th,.ncb-table tbody tr:last-child td{border-bottom: 0;}
.ncb-conf-notes{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.85rem;margin-bottom: 1rem;}
.ncb-note{background: #fff;border: 1px solid var(--ncb-line);border-top: 4px solid var(--conf);border-radius: 10px;padding: 0.9rem 1rem;}
.ncb-note h3{font-size: 1.05rem;font-weight: 700;color: var(--ncb-navy);margin: 0 0 0.35rem;}
.ncb-note p{font-size: 0.92rem;line-height: 1.6;margin: 0;}
.ncb-uses{display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 0.85rem;margin: 0;}
.ncb-uses > div{background: var(--ncb-wood);border-radius: 10px;padding: 0.9rem 1rem;}
.ncb-uses dt{font-weight: 700;color: var(--ncb-navy);margin-bottom: 0.3rem;}
.ncb-uses dd{margin: 0;font-size: 0.92rem;line-height: 1.6;}
.ncb-limits{background: #fff;border: 1px solid var(--ncb-line);border-left: 5px solid var(--ncb-orange);border-radius: 10px;padding: 1.25rem 1.4rem;}
.ncb-limits ul{margin: 0;padding-left: 1.1rem;line-height: 1.65;}
.ncb-limits li{margin-bottom: 0.5rem;}
.ncb-closing{display: grid;grid-template-columns: minmax(0, 1fr);gap: 1.25rem;align-items: start;margin-top: 1rem;}
.ncb-closing > section{margin: 0;min-width: 0;}
@media (min-width: 992px){.ncb-closing{grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);}}
@media (max-width: 860px){.ncb-grid{grid-template-columns: minmax(0, 1fr);}}
@media (max-width: 640px){.ncb-tool{padding: 0.9rem;}.ncb-bracket{grid-auto-flow: row;grid-auto-columns: auto;overflow-x: visible;}.ncb-court-head{flex-direction: column;}.ncb-conf-notes,.ncb-uses{grid-template-columns: minmax(0, 1fr);}}
@media (prefers-reduced-motion: reduce){.ncb-game.is-new,.ncb-pick.is-new{animation: none;}}