
.rus-official{background:#050505;border:1px solid #383838;border-top:4px solid #F14D07;border-radius:9px;padding:17px;margin:0 0 12px;color:#fff;font-family:Arial,Helvetica,sans-serif}
.rus-o-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.rus-o-eyebrow{font-size:10px;color:#F14D07;font-weight:900;letter-spacing:1px;text-transform:uppercase}
.rus-o-top h2{font-size:22px;line-height:1.15;margin:5px 0!important;font-weight:900;text-transform:uppercase}
.rus-o-desc{font-size:11px;line-height:1.5;color:#a9a9a9;margin:3px 0 0!important}
.rus-o-cta{background:#F14D07;color:#050505!important;font-size:11px;font-weight:900;text-decoration:none;border-radius:5px;padding:10px 12px;white-space:nowrap;display:inline-block}
.rus-o-cta:hover{background:#fff}
.rus-o-progress{padding:10px 0 9px;font-size:11px;font-weight:800;color:#ddd}
.rus-o-progress strong{color:#F14D07}
.rus-o-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.rus-o-tab{border:1px solid #484848;color:#fff;background:#1b1b1b;border-radius:5px;padding:9px 12px;font-size:11px;font-weight:900;cursor:pointer;min-height:38px}
.rus-o-tab[aria-pressed=true]{background:#F14D07;color:#000;border-color:#F14D07}
.rus-o-tab.is-waiting:not([aria-pressed=true]){color:#bbb}
.rus-o-tab small{display:block;font-size:8px;font-weight:700;letter-spacing:.2px;padding-top:2px}
.rus-o-status{font-size:11px;color:#a9a9a9;line-height:1.5;margin-bottom:8px}
.rus-o-status b{color:#fff}
.rus-o-waiting{background:#131313;border:1px dashed #454545;border-radius:6px;color:#c6c6c6;padding:22px 14px;text-align:center;font-size:13px;line-height:1.5}
.rus-o-waiting strong{display:block;color:#fff;font-size:15px;margin-bottom:4px}
.rus-o-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;border:1px solid #282828;border-radius:7px;background:#0e0e0e;padding:13px}
.rus-o-rounds{display:flex;min-width:max-content;align-items:stretch;gap:15px}
.rus-o-round{width:210px;min-width:210px;display:flex;flex-direction:column}
.rus-o-round h3{font-size:12px;font-weight:900;color:#F14D07;text-align:center;text-transform:uppercase;margin:0 0 10px}
.rus-o-games{display:flex;flex-direction:column;justify-content:space-around;gap:12px;flex:1}
.rus-o-game{border:1px solid #414141;border-radius:6px;background:#191919;overflow:hidden;min-height:68px}
.rus-o-team{display:flex;align-items:center;min-height:34px;gap:7px;padding:7px 9px;font-size:11px;font-weight:800}
.rus-o-team+.rus-o-team{border-top:1px solid #353535}
.rus-o-team .rus-o-seed{font-size:10px;color:#F14D07;flex:0 0 22px;text-align:center}
.rus-o-team .rus-o-name{flex:1;overflow-wrap:anywhere}
.rus-o-team.rus-o-bye{color:#9b9b9b;font-style:italic}
.rus-o-team.rus-o-win{background:#242424}
.rus-o-team .rus-o-score{margin-left:auto;color:#fff;font-size:12px}
.rus-o-gamemeta{border-top:1px solid #353535;font-size:10px;color:#c9c9c9;line-height:1.55;padding:7px 9px}.rus-o-gamemeta b{color:#fff}
.rus-o-foot{font-size:10px;color:#929292;line-height:1.45;margin-top:10px}
.rus-o-foot a{color:#ffa375}
.rus-o-error{border:1px solid #5e3838;padding:15px;color:#ffb6a1;font-size:12px}
@media(max-width:650px){.rus-official{padding:12px 10px}.rus-o-top h2{font-size:19px}.rus-o-cta{font-size:9px;padding:9px 10px}.rus-o-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin;padding-bottom:4px}.rus-o-tab{flex:0 0 auto;padding:8px 10px;font-size:10px}.rus-o-round{width:190px;min-width:190px}.rus-o-scroll{padding:9px}.rus-o-team{font-size:10px}}


/* 2026 official bracket team branding and social export */
.rus-o-team.rus-o-real-team{
  background:linear-gradient(90deg,var(--team-bg,#333) 0%,#171717 74%);
  border-left:4px solid var(--team-bg,#444);
  padding-left:6px;
  color:#fff;
  text-shadow:0 1px 2px rgba(0,0,0,.8);
}
.rus-o-game .rus-o-team.rus-o-real-team+.rus-o-team{border-top:1px solid rgba(255,255,255,.16)}
.rus-o-team .rus-o-logo{
  width:30px;height:30px;max-width:30px;flex:0 0 30px;
  object-fit:contain;object-position:center;display:block;
  background:transparent;border:0;box-shadow:none;
}
.rus-o-team .rus-o-name{font-weight:900;line-height:1.3;min-width:0}
.rus-o-team.rus-o-real-team .rus-o-seed{
  color:var(--team-ink,#fff);
  text-shadow:0 1px 3px rgba(0,0,0,.95),0 0 2px #000;
}
.rus-o-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:4px 0 12px}
.rus-o-actions>span{font-size:10px;color:#aaa}
.rus-o-share{appearance:none;cursor:pointer;background:#F14D07;color:#080808;border:1px solid #F14D07;border-radius:7px;min-height:42px;padding:11px 18px;letter-spacing:.35px;font-size:12px;font-weight:900}
.rus-o-share:hover,.rus-o-share:focus-visible{background:#fff;border-color:#fff;outline:2px solid #F14D07;outline-offset:2px}
.rus-o-overlay{position:fixed;inset:0;z-index:2147483639;display:flex;align-items:center;justify-content:center;padding:15px;background:rgba(0,0,0,.92)}
.rus-o-sheet{width:min(650px,100%);max-height:92dvh;overflow:auto;background:#121212;border:1px solid #505050;border-top:5px solid #F14D07;border-radius:13px;color:white;box-shadow:0 20px 55px #000;padding:20px}
.rus-o-sheet h3{font-size:21px;line-height:1.25;margin:0 0 9px;font-weight:900}
.rus-o-sheet p{font-size:12px;color:#bbb;line-height:1.5;margin:0 0 15px}
.rus-o-format-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0}
.rus-o-format-options button,.rus-o-popup-buttons button,.rus-o-popup-close{
  color:#fff;background:#232323;border:1px solid #555;cursor:pointer;border-radius:8px;
  padding:11px 12px;min-height:50px;font-size:12px;font-weight:800
}
.rus-o-format-options button strong{display:block;color:#ffa071;margin-bottom:6px;font-size:13px}
.rus-o-format-options button:focus-visible,.rus-o-popup-buttons button:focus-visible,.rus-o-popup-close:focus-visible{outline:2px solid #F14D07;outline-offset:2px}
.rus-o-format-options button:disabled{opacity:.5;cursor:progress}
.rus-o-popup-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:12px}
.rus-o-save-image,.rus-o-native-share{background:#F14D07!important;color:#070707!important;border-color:#F14D07!important}
.rus-o-popup-buttons [hidden]{display:none!important}
.rus-o-image-preview{max-height:65dvh;overflow:auto;display:flex;justify-content:center;align-items:flex-start}
.rus-o-image-preview canvas{max-width:100%;width:100%;height:auto;max-height:62dvh;object-fit:contain;border:1px solid #373737}
.rus-o-popup-note{font-size:12px;min-height:15px;color:#ffa071!important}
@media(max-width:650px){
  .rus-o-actions{align-items:stretch;gap:5px}
  .rus-o-actions>span{width:100%}
  .rus-o-share{width:100%;font-size:12px}
  .rus-o-team .rus-o-logo{width:24px;height:24px;max-width:24px;flex-basis:24px}
  .rus-o-team.rus-o-real-team{min-height:42px}
  .rus-o-team .rus-o-name{font-size:10px}
  .rus-o-format-options{grid-template-columns:1fr}
  .rus-o-popup-buttons{grid-template-columns:1fr 1fr}
  .rus-o-popup-buttons .rus-o-popup-close{grid-column:1/-1}
  .rus-o-sheet{padding:14px}
  .rus-o-image-preview{max-height:61dvh}
}


/* Bracket polish: original school logos, secondary accents, readable mobile cards. */
.rus-o-round{width:268px;min-width:268px}
.rus-o-game{box-shadow:0 3px 11px rgba(0,0,0,.35)}
.rus-o-team.rus-o-real-team{
  min-height:52px;
  border-left:6px solid var(--team-bg,#444);
  padding:7px 9px 7px 8px;
  background:linear-gradient(105deg,
    color-mix(in srgb,var(--team-bg,#303030) 66%,#080808) 0%,
    color-mix(in srgb,var(--team-bg,#303030) 33%,#171717) 49%,
    #1b1c20 100%);
}
.rus-o-team.rus-o-real-team .rus-o-seed{
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:28px;
  flex:0 0 29px;
  font-size:12px;
  color:#fff;
  border-radius:5px;
  background:rgba(5,6,8,.62);
  border-bottom:3px solid var(--team-ink,#f14d07);
  text-shadow:0 1px 2px #000;
}
.rus-o-logo-shell{
  width:41px;
  height:41px;
  flex:0 0 41px;
  border-radius:50%;
  display:flex;
  justify-content:center;
  align-items:center;
  background:radial-gradient(circle at 35% 30%,#fbfbfb,#cfd1d5);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 2px 5px rgba(0,0,0,.55);
  overflow:hidden;
}
.rus-o-team .rus-o-logo{
  width:35px;
  height:35px;
  max-width:35px;
  max-height:35px;
  flex:none;
  border:0;
  object-fit:contain;
  background:transparent;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.48));
}
.rus-o-team.rus-o-real-team .rus-o-name{
  font-size:12px;
  font-weight:900;
  line-height:1.25;
  min-width:0;
  overflow-wrap:break-word;
}
.rus-o-team.rus-o-bye .rus-o-name{font-weight:700}
@media(max-width:650px){
  .rus-o-round{width:250px;min-width:250px}
  .rus-o-team.rus-o-real-team{min-height:49px;gap:6px;padding:6px}
  .rus-o-team.rus-o-real-team .rus-o-seed{min-height:27px;flex-basis:27px;font-size:11px}
  .rus-o-logo-shell{width:35px;height:35px;flex:0 0 35px}
  .rus-o-team .rus-o-logo{width:31px;height:31px;max-width:31px;max-height:31px}
  .rus-o-team.rus-o-real-team .rus-o-name{font-size:11px}
  .rus-o-scroll{scroll-snap-type:x proximity;scroll-padding-inline:10px}
  .rus-o-round{scroll-snap-align:start}
}


/* 2026 official playoffs — properly fit authentic landscape and square logos */
.rus-o-logo-shell{
  width:49px;height:48px;flex:0 0 49px;
  padding:3px;border-radius:10px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  background:rgba(250,250,252,.96);
  box-shadow:0 2px 6px rgba(0,0,0,.42);
  border:1px solid rgba(255,255,255,.44);
}
.rus-o-team .rus-o-logo{
  display:block;width:100%;height:100%;max-width:100%;max-height:100%;
  flex:0 1 auto;object-fit:contain;object-position:center;
  filter:none;border:0;background:transparent;box-shadow:none;
}
.rus-o-logo-shell[data-team-key="SKYRIDGE"],
.rus-o-logo-shell[data-team-key="RIDGELINE"],
.rus-o-logo-shell[data-team-key="SNOW CANYON"],
.rus-o-logo-shell[data-team-key="MOUNTAIN VIEW"],
.rus-o-logo-shell[data-team-key="TIMPVIEW"],
.rus-o-logo-shell[data-team-key="DAVIS"],
.rus-o-logo-shell[data-team-key="FARMINGTON"],
.rus-o-logo-shell[data-team-key="CORNER CANYON"],
.rus-o-logo-shell[data-team-key="OLYMPUS"]{
  width:64px;flex-basis:64px;
}
.rus-o-team.rus-o-real-team{min-height:59px}
.rus-o-team.rus-o-real-team .rus-o-name{overflow-wrap:anywhere}
@media(max-width:650px){
  .rus-o-logo-shell{width:43px;height:42px;flex:0 0 43px;padding:3px;border-radius:9px}
  .rus-o-logo-shell[data-team-key="SKYRIDGE"],
  .rus-o-logo-shell[data-team-key="RIDGELINE"],
  .rus-o-logo-shell[data-team-key="SNOW CANYON"],
  .rus-o-logo-shell[data-team-key="MOUNTAIN VIEW"],
  .rus-o-logo-shell[data-team-key="TIMPVIEW"],
  .rus-o-logo-shell[data-team-key="DAVIS"],
  .rus-o-logo-shell[data-team-key="FARMINGTON"],
  .rus-o-logo-shell[data-team-key="CORNER CANYON"],
  .rus-o-logo-shell[data-team-key="OLYMPUS"]{width:56px;flex-basis:56px}
  .rus-o-team .rus-o-logo{width:100%;height:100%;max-width:100%;max-height:100%}
  .rus-o-team.rus-o-real-team{min-height:54px}
}


/* Verified matchup model line; never mistaken for the actual playoff score. */
.rus-o-projection{
 background:linear-gradient(90deg,rgba(241,77,7,.18),rgba(18,18,18,.95));
 border-top:1px solid rgba(241,77,7,.45);border-bottom:1px solid #353535;
 padding:8px 11px;font-size:12px;font-weight:800;line-height:1.4;color:#fff;
}
.rus-o-projection b{color:#ff9d65;font-weight:900}
.rus-o-projection>span{color:#ff9d65;margin:0 5px}
.rus-o-projection small{display:block;font-size:9px;font-weight:700;color:#b9b9b9;margin-top:2px}
@media(max-width:650px){.rus-o-projection{padding:8px;font-size:11px}}

/* Verified playoff finals and a manual score-refresh control. */
.rus-o-progress{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.rus-o-refresh{background:#25160e;color:#fff;border:1px solid #F14D07;border-radius:6px;padding:8px 11px;min-height:38px;font-size:11px;font-weight:900;cursor:pointer}
.rus-o-refresh:hover,.rus-o-refresh:focus-visible{background:#F14D07;color:#000;outline:2px solid #fff;outline-offset:2px}
.rus-o-game.is-final{border-color:#F14D07}
.rus-o-final{color:#fff;background:#176534;border:1px solid #45b777;border-radius:3px;font-size:10px;font-weight:900;padding:3px 6px;letter-spacing:.4px;display:inline-block}
.rus-o-game.is-final .rus-o-team.rus-o-win .rus-o-name,.rus-o-game.is-final .rus-o-team.rus-o-win .rus-o-score{color:#fff;font-weight:900}
.rus-o-game.is-final .rus-o-team:not(.rus-o-win){opacity:.78}

/* Final score cards match the established RUS historical playoff bracket design:
   team-color rows, gold winning-score tiles, and subtle muted losing scores. */
.rus-o-team-details{min-width:0;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.rus-o-team-details .rus-o-name{min-width:0;width:100%;flex:initial}
.rus-o-winner-label{display:none}
.rus-o-game.is-final{border-color:#646464;box-shadow:0 3px 10px rgba(0,0,0,.35)}
.rus-o-game.is-final .rus-o-team.rus-o-real-team{
  background:linear-gradient(100deg,
    color-mix(in srgb,var(--team-bg,#303030) 86%,#121212) 0%,
    color-mix(in srgb,var(--team-bg,#303030) 78%,#161616) 100%);
  border-left:6px solid var(--team-bg,#444);
  box-shadow:none;
}
.rus-o-game.is-final .rus-o-team{opacity:1;filter:none}
.rus-o-game.is-final .rus-o-team.rus-o-win,
.rus-o-game.is-final .rus-o-team.rus-o-win.rus-o-real-team{
  border-left:6px solid var(--team-bg,#444);
  background:linear-gradient(100deg,
    color-mix(in srgb,var(--team-bg,#303030) 88%,#121212) 0%,
    color-mix(in srgb,var(--team-bg,#303030) 80%,#161616) 100%);
  box-shadow:none;
  opacity:1;
}
.rus-o-game.is-final .rus-o-team:not(.rus-o-win){opacity:.90;filter:saturate(.90)}
.rus-o-game.is-final .rus-o-team .rus-o-name{font-weight:900}
.rus-o-game.is-final .rus-o-team .rus-o-score{
  margin-left:auto;flex:0 0 auto;min-width:42px;box-sizing:border-box;
  padding:6px 9px;text-align:center;border-radius:7px;
  font-size:15px;font-weight:900;line-height:1.1;text-shadow:none;
  background:rgba(0,0,0,.24);color:#f4f4f4;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.09);
}
.rus-o-game.is-final .rus-o-team.rus-o-win .rus-o-score{
  background:#e0c45b;color:#111;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12),0 1px 3px rgba(0,0,0,.20);
}
.rus-o-game.is-final .rus-o-team:not(.rus-o-win) .rus-o-score{
  background:rgba(0,0,0,.23);color:rgba(255,255,255,.88);
}
.rus-o-game.is-final .rus-o-final{
  background:#302814;border-color:#967b30;color:#ffe397;
}
@media(max-width:650px){
  .rus-o-game.is-final .rus-o-team .rus-o-score{
    min-width:38px;padding:5px 8px;font-size:14px;
  }
}
