/* Texas Invitational live draft board (draft.js).
   Motion rule for this site: animate transform/opacity only; nothing moves under reduced motion. */
:root{--db-bg:#0b0b0e;--db-card:#15151a;--db-card2:#1b1b21;--db-gold:#d4af37;--db-gold2:#ffd76a;--db-amber:#e7b04a;--db-inv:#3a3a45}
.db-live{display:inline-block;background:var(--red-ui);color:#fff;font-family:'Archivo';font-weight:900;font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:3px 7px;line-height:1.4}

/* launcher in the page hero */
.db-launch{margin-top:22px;display:inline-flex;align-items:center;gap:12px;background:#fff;color:var(--ink);border:0;cursor:pointer;font-family:'Archivo';font-weight:900;font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:12px 18px 12px 12px;transition:transform .15s var(--ease-out)}
.db-launch:hover{background:var(--chrome)}
.db-launch:active{transform:scale(.97)}

/* overlay: solid, so nothing from the page shows through */
html.db-lock-scroll{overflow:hidden}
.db-ov{position:fixed;inset:0;z-index:300;background:var(--db-bg);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.db-ov[hidden]{display:none}
.db-bar-top{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:12px;height:58px;padding:0 max(20px,calc((100% - 1180px)/2));background:var(--db-bg);border-bottom:1px solid var(--line)}
.db-brand{display:flex;align-items:center;gap:10px;font-family:'Archivo';font-weight:800;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--chrome)}
.db-x{width:44px;height:44px;background:transparent;border:1px solid var(--line);color:#fff;font-size:26px;line-height:1;cursor:pointer}
.db-x:hover{border-color:var(--red)}
.db-ov section{padding:0}
.db-panel{max-width:1240px;margin:0 auto;padding:26px 24px 44px;animation:dbIn .32s var(--ease-out)}
.db-panel:focus{outline:none}
@keyframes dbIn{from{opacity:0;transform:translateY(12px)}}

/* hero + tally */
.db-hero{display:grid;grid-template-columns:1fr 380px;gap:28px;align-items:stretch;padding-bottom:22px;border-bottom:1px solid var(--line)}
.db-hl{display:flex;flex-direction:column;justify-content:flex-end}
.db-hl h1,.db-hl h2{font-size:clamp(42px,5.6vw,72px);line-height:.9;color:#fff;margin:0}
.db-hl p{color:var(--muted);margin:10px 0 0;font-size:15px;max-width:44ch}
.db-tally{background:var(--db-card);border:1px solid var(--line);padding:18px 18px 16px}
.db-big{display:flex;align-items:baseline;gap:10px}
.db-big b{font-family:'Anton';font-weight:400;font-size:56px;line-height:1;color:var(--db-gold2);font-variant-numeric:tabular-nums}
.db-big span{color:var(--chrome);font-size:14px}
.db-big i{font-style:normal}
.db-stack{display:flex;height:8px;margin:14px 0 12px;background:var(--db-inv);overflow:hidden}
.db-stack i{display:block;width:100%;height:100%;transform-origin:left;transform:scaleX(0);transition:transform .6s var(--ease-out)}
.db-left{margin:0;color:var(--muted);font-size:13px}
.seg-ok{background:var(--db-gold)}.seg-wait{background:var(--db-amber)}.seg-open{background:var(--red)}.seg-inv{background:var(--db-inv)}
.k-ok::before{background:var(--db-gold)}.k-wait::before{background:var(--db-amber)}.k-open::before{background:var(--red)}.k-inv::before{background:var(--db-inv)}

/* find a player */
.db-find{position:relative;margin:18px 0 0;max-width:520px}
.db-find input{width:100%;box-sizing:border-box;background:var(--db-card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%239a9aa6' stroke-width='2' viewBox='0 0 24 24'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 14px center;border:1px solid var(--line);color:#fff;font:inherit;font-size:15px;padding:14px 14px 14px 44px}
.db-find input:focus{outline:2px solid var(--red);outline-offset:0}
.db-res{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:6;list-style:none;margin:0;padding:6px;background:#111116;border:1px solid var(--line);box-shadow:0 20px 44px rgba(0,0,0,.6)}
.db-res button{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-areas:"n s" "m s";gap:2px 12px;align-items:center;text-align:left;background:none;border:0;color:#fff;font:inherit;padding:10px;cursor:pointer}
.db-res button:hover,.db-res button:focus-visible{background:var(--db-card2)}
.r-name{grid-area:n;font-weight:700}.r-meta{grid-area:m;color:var(--muted);font-size:12.5px}
.r-st{grid-area:s;font-family:'Archivo';font-weight:800;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.r-st.k-ok{color:var(--db-gold2)}.r-st.k-wait{color:var(--db-amber)}.r-st.k-open{color:var(--red-soft)}
.r-st::before{display:none}
.r-none{color:var(--muted);padding:10px}

/* just locked in */
/* two columns on wide screens: teams left, open spots + latest in a pinned sidebar */
.db-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start;margin-top:4px}
.db-main,.db-side{min-width:0}
.db-side{position:sticky;top:76px;display:grid;grid-template-columns:minmax(0,1fr);gap:22px;padding-top:18px}
.db-side .db-rail{flex-direction:column;overflow:visible;scroll-snap-type:none}
.db-side .db-lock{min-width:0;max-width:none;width:100%}
.db-recent{margin-top:0}
.db-recent h3,.db-group h4{font-family:'Archivo';font-weight:900;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 10px}
.db-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px;scrollbar-width:thin}
.db-lock{flex:0 0 auto;min-width:220px;max-width:300px;scroll-snap-align:start;display:grid;gap:4px;text-align:left;background:linear-gradient(135deg,rgba(212,175,55,.16),var(--db-card) 60%);border:1px solid rgba(212,175,55,.45);color:#fff;font:inherit;padding:12px 14px;cursor:pointer}
.db-lock:hover{border-color:var(--db-gold2)}
.db-lock-br{font-family:'Archivo';font-weight:900;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--db-gold2)}
.db-lock-names{font-weight:700;font-size:14.5px;line-height:1.3}
.db-lock-t{color:var(--muted);font-size:12px}
.db-empty{color:var(--muted);font-size:14px;margin:0;padding:14px 16px;border:1px dashed var(--line);flex:1}

/* bracket navigation: pinned under the top bar while scrolling */
.db-nav{position:sticky;top:58px;z-index:4;background:var(--db-bg);padding:16px 0 0;border-bottom:1px solid var(--line)}
.db-divs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding-bottom:10px}
.db-divs::-webkit-scrollbar,.db-lvls::-webkit-scrollbar{display:none}
.db-divs button{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-family:'Archivo';font-weight:800;font-size:12.5px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;background:var(--db-card);border:1px solid var(--line);color:#fff;cursor:pointer}
.db-divs button small{font-weight:700;color:var(--muted);letter-spacing:0}
.db-divs button:hover{border-color:var(--red)}
.db-divs button[aria-pressed="true"]{background:var(--red-ui);border-color:var(--red-ui)}
.db-divs button[aria-pressed="true"] small{color:rgba(255,255,255,.75)}
.db-lvls{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.db-lvls button{flex:0 0 auto;display:flex;align-items:baseline;gap:7px;background:none;border:0;border-bottom:3px solid transparent;color:var(--muted);font-family:'Anton';font-size:20px;letter-spacing:.01em;padding:8px 14px 9px;cursor:pointer}
.db-lvls button small{font-family:'Archivo';font-weight:700;font-size:11px;color:var(--muted)}
.db-lvls button:hover{color:#fff}
.db-lvls button[aria-pressed="true"]{color:#fff;border-bottom-color:var(--red)}

/* bracket */
.db-bracket{margin-top:20px}
.db-bhead{display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap;margin-bottom:6px}
.db-bhead h3{font-family:'Anton';font-weight:400;font-size:clamp(26px,3.6vw,36px);color:#fff;text-transform:uppercase;margin:0;line-height:1}
.db-bprog{display:grid;gap:6px;min-width:200px;color:var(--chrome);font-size:13px;text-align:right}
.db-bprog>i{display:block;height:5px;background:var(--db-inv);overflow:hidden}
.db-bprog>i>i{display:block;height:100%;background:var(--db-gold);transform-origin:left center;transition:transform .5s var(--ease-out)}
.db-group{margin-top:18px}
.db-group h4 span{display:inline-block;min-width:20px;text-align:center;margin-left:6px;padding:1px 6px;background:var(--db-card2);color:#fff;letter-spacing:0}
.g-ok h4{color:var(--db-gold2)}.g-wait h4{color:var(--db-amber)}.g-open h4{color:var(--red-soft)}
.db-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.db-msg{color:var(--muted)}
/* available players (ranked in the bracket, not on a team yet) */
.g-av h4{color:#fff}
.db-avnote{color:var(--muted);font-size:13px;margin:-4px 0 10px}
.db-avwrap.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.db-avcol h5{font-family:'Archivo';font-weight:900;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}
.db-avcol h5 span{color:#fff;margin-left:4px}
.db-avail{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:0 18px;border-top:1px solid var(--line2)}
.db-avail li{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:baseline;padding:8px 2px;border-bottom:1px solid var(--line2);font-size:14px}
.av-rk{font-family:'Anton';color:var(--red-soft);font-size:15px}
.av-n{color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.av-p{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.db-more{margin-top:10px;background:none;border:1px solid var(--line);color:#fff;font-family:'Archivo';font-weight:800;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;padding:9px 14px;cursor:pointer}
.db-more:hover{border-color:var(--red)}

/* team card */
.dc{position:relative;display:grid;gap:2px;background:var(--db-card);border:1px solid var(--line);padding:14px 16px 12px}
.dc-line{display:flex;align-items:baseline;gap:8px;min-width:0}
.dc-name{color:#fff;font-weight:700;font-size:16px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dc-seed{flex:0 0 auto;color:var(--muted);font-weight:700;font-size:11.5px;font-variant-numeric:tabular-nums}
.dc-tbd{color:var(--muted);font-size:15px;font-style:italic}
.dc-amp{color:var(--red-soft);font-family:'Anton';font-size:14px;line-height:1.1}
.dc-meta{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;border-top:1px solid var(--line2)}
.dc-chip{font-family:'Archivo';font-weight:900;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.dc-team{color:var(--muted);font-size:11.5px}
.dc-ok{border-color:rgba(212,175,55,.5);background:linear-gradient(140deg,rgba(212,175,55,.15),var(--db-card) 58%)}
.dc-ok .dc-chip{background:var(--db-gold);color:#111;padding:3px 7px}
.dc-wait{border-color:rgba(231,176,74,.38)}
.dc-wait .dc-chip{color:var(--db-amber)}
.dc-open{border-style:dashed;border-color:rgba(237,28,36,.55)}
.dc-open .dc-chip{color:var(--red-soft)}
.dc-inv .dc-name{color:#e6e6ea}
.dc-hit{outline:2px solid #fff;outline-offset:2px}
.dc-new::after{content:"";position:absolute;inset:-1px;border:2px solid var(--db-gold2);pointer-events:none;animation:dbFlash 2.4s var(--ease-out) forwards}
@keyframes dbFlash{0%,40%{opacity:1}100%{opacity:0}}

.db-foot{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin-top:28px;padding-top:14px;border-top:1px solid var(--line)}

/* shared chip rows (admin page) */
.db-pick{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.db-pick button{font-family:'Archivo';font-weight:800;font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:10px 14px;background:#fff;color:var(--ink);border:0;cursor:pointer}
.db-pick button small{font-weight:700;opacity:.6;margin-left:4px;letter-spacing:0}
.db-pick button[aria-pressed="true"]{background:var(--red-ui);color:#fff}
.db-pick.lv button{background:transparent;color:var(--chrome);border:1px solid var(--line)}
.db-pick.lv button[aria-pressed="true"]{background:var(--red-ui);border-color:var(--red-ui);color:#fff}

@media(max-width:1020px){
  .db-layout{grid-template-columns:minmax(0,1fr)}
  .db-side{position:static;order:-1;padding-top:18px}
  .db-side .db-rail{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}
  .db-side .db-lock{min-width:220px;max-width:280px;width:auto}
}
@media(max-width:820px){
  .db-hero{grid-template-columns:1fr;gap:18px}
  .db-bar-top{padding:0 16px}
  .db-panel{padding:22px 16px 40px}
  .db-nav{margin:0 -16px;padding:12px 16px 0}
  .db-grid{grid-template-columns:1fr}
  .db-avwrap.two{grid-template-columns:1fr}
  .db-bprog{text-align:left;min-width:0;width:100%}
  .db-lock{min-width:200px}
  .db-big b{font-size:48px}
  .db-pick{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin-right:-16px;padding-right:16px}
  .db-pick::-webkit-scrollbar{display:none}
  .db-pick button{flex:0 0 auto}
}
@media(prefers-reduced-motion:reduce){.db-stack i{transition:none}.db-panel{animation:none}.dc-new::after{animation:none;opacity:0}.db-bprog>i>i{transition:none}}

/* /draft: the board is the page itself (no overlay, no ×) */
body.db-page{background:var(--db-bg);margin:0}
.db-ov.db-inpage{position:static;inset:auto;z-index:auto;overflow:visible;min-height:100vh}
.db-inpage .db-panel{animation:none}
a.db-brand{text-decoration:none}
a.db-brand:hover span:last-child{color:#fff}
.db-info{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border:1px solid var(--line);color:#fff;text-decoration:none;font-family:'Archivo';font-weight:800;font-size:12px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.db-info:hover{border-color:var(--red)}

.db-avail li.av-hit{background:rgba(212,175,55,.12);outline:1px solid var(--db-gold);outline-offset:-1px}

/* who is picking right now in this bracket */
.db-clock{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:10px 0 0;padding:10px 14px;background:var(--db-card);border:1px solid var(--line);border-top:2px solid var(--red-ui);color:var(--muted);font-size:13px}
.db-clock span{font-family:'Archivo';font-weight:900;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red-soft)}
.db-clock b{color:#fff;font-size:15px}
.db-clock[hidden]{display:none}
