:root{
  --qb-bg:#f5f6f3;
  --qb-surface:#fff;
  --qb-primary:#111311;
  --qb-green:#173629;
  --qb-secondary:#8a908b;
  --qb-border:#e8ebe7;
  --qb-lime:#c9ff3d;
  --qb-growth:#ff7043;
  --qb-radius-sm:12px;
  --qb-radius:16px;
  --qb-radius-lg:20px
}

/* Phase 1: only the application shell, home and bottom navigation. */
.qb-today-card{position:absolute;z-index:6;right:24px;bottom:18px;left:24px;padding:15px 18px;border:1px solid rgba(232,235,231,.9);border-radius:18px;color:var(--qb-primary);background:var(--qb-surface);box-shadow:0 8px 26px rgba(17,19,17,.08)}
.qb-today-card>header{display:flex;align-items:center;justify-content:space-between}.qb-today-card>header>b{font-size:15px}.qb-today-card>header>button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:50%;color:#fff;background:var(--qb-primary)}.qb-today-card>header .qb-icon{width:14px}.qb-today-card>div{margin-top:12px;display:grid;grid-template-columns:repeat(4,1fr)}.qb-today-card>div>button{min-width:0;padding:0 8px;border:0;border-right:1px solid var(--qb-border);background:transparent;text-align:left}.qb-today-card>div>button:last-child{border-right:0}.qb-today-card>div b,.qb-today-card>div span{display:block}.qb-today-card>div b{font-size:25px;line-height:1}.qb-today-card>div span{margin-top:6px;color:var(--qb-secondary);font-size:10px;white-space:nowrap}
.qb-primary-actions{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.qb-primary-actions>button{min-height:66px;padding:10px 14px;display:grid;grid-template-columns:34px minmax(0,1fr) 17px;align-items:center;gap:10px;border:0;border-radius:15px;background:var(--qb-surface);text-align:left}.qb-primary-actions>button:first-child{color:#fff;background:var(--qb-primary)}.qb-primary-actions>button:nth-child(2){background:#f2f8e8}.qb-primary-actions>button>.qb-icon:first-child{width:32px;height:32px;padding:7px;border-radius:10px;color:var(--qb-primary);background:var(--qb-lime)}.qb-primary-actions>button:nth-child(2)>.qb-icon:first-child{background:#e5f4c2}.qb-primary-actions>button>span b,.qb-primary-actions>button>span small{display:block}.qb-primary-actions>button>span b{font-size:14px}.qb-primary-actions>button>span small{margin-top:3px;overflow:hidden;color:#929792;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.qb-primary-actions>button>.qb-icon:last-child{width:16px}
.qb-quick-tools{margin-top:10px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.qb-quick-tools>button{min-height:76px;padding:10px 4px;display:grid;place-items:center;align-content:center;gap:7px;border:0;border-radius:14px;background:var(--qb-surface);color:var(--qb-primary)}.qb-quick-tools .qb-icon{width:23px;height:23px}.qb-quick-tools span{font-size:11px;font-weight:650}
.qb-home-courses .qb-course-row{background:var(--qb-surface)}.qb-home-watch{margin-bottom:12px}

@media(max-width:700px){
  html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0}body{background:var(--qb-bg)}
  .qb-main{padding-top:64px}
  .qb-mobile-bar{height:56px;padding:0 16px;border-color:var(--qb-border);background:rgba(245,246,243,.97);backdrop-filter:none}
  .qb-mobile-bar .qb-brand{gap:8px}.qb-mobile-bar .qb-brand>b{width:30px;height:30px;border-radius:9px;font-size:13px}.qb-mobile-bar .qb-brand>span{font-size:14px;line-height:1}.qb-mobile-bar .qb-brand small{display:none}.qb-avatar-button,.qb-mobile-alert{width:32px;height:32px;border:0;border-radius:11px}.qb-mobile-alert{display:grid;place-items:center;color:#fff;background:rgba(17,19,17,.72)}.qb-mobile-alert .qb-icon{width:18px}
  .qb-bottom-nav{height:calc(58px + var(--qb-safe-bottom));padding:4px 8px var(--qb-safe-bottom);border-color:rgba(232,235,231,.52);background:#fff;box-shadow:0 -8px 22px rgba(17,19,17,.018);backdrop-filter:none}
  .qb-bottom-nav .qb-nav-item{min-height:48px;gap:1px;border-radius:0;color:#a0a6a1;font-size:8.5px;font-weight:500}.qb-bottom-nav .qb-nav-item .qb-icon{width:18px;height:18px;padding:0;stroke-width:1.65}.qb-bottom-nav .qb-nav-item.is-active{color:var(--qb-primary);font-weight:620}.qb-bottom-nav .qb-nav-item.is-active .qb-icon{width:18px;height:18px;padding:0;border-radius:0;color:var(--qb-green);background:transparent;stroke-width:1.9;transform:translateY(-1px)}.qb-bottom-nav .qb-nav-item.is-active:before{display:none}

  .qb-home-mode .qb-main{padding:8px 16px 28px;overflow:visible}.qb-home-mode .qb-page{overflow:visible}
  .qb-home-mode .qb-mobile-bar{position:absolute;top:8px;right:16px;left:16px;height:58px;padding:0 14px;border:0;color:#fff;background:transparent}.qb-home-mode .qb-mobile-bar .qb-brand>b{color:var(--qb-primary);background:#fff}.qb-home-mode .qb-mobile-bar .qb-brand>span{color:#fff;font-size:13px}.qb-home-mode .qb-mobile-bar .qb-brand small{display:block;margin-top:3px;color:rgba(255,255,255,.58);font-size:7px}.qb-home-mode .qb-mobile-alert{background:rgba(0,0,0,.44)}
  .qb-home .qb-brief{min-height:320px;margin:0;border-radius:20px;background:transparent;box-shadow:none;overflow:visible}
  .qb-home .qb-brief-visual{position:absolute;inset:0 0 auto;width:100%;height:248px;min-height:0;opacity:1;border-radius:20px;overflow:hidden}.qb-home .qb-brief-slides img{object-position:66% center}.qb-home .qb-brief-slides .qb-brief-shot--back{object-position:68% 48%}.qb-home .qb-brief-slides .qb-brief-shot--drill{object-position:66% center}.qb-home .qb-brief-slides .qb-brief-shot--focus{object-position:50% 27%}.qb-home .qb-brief-slides .qb-brief-shot--court{object-position:74% center}.qb-home .qb-brief-slides .qb-brief-shot--equipment{object-position:center}.qb-home .qb-brief-visual:after{z-index:1;background:linear-gradient(90deg,rgba(5,7,5,.9) 0%,rgba(5,7,5,.52) 48%,rgba(5,7,5,.12) 100%)}.qb-home .qb-brief-visual>nav{right:14px;bottom:10px}.qb-home .qb-brief-visual>nav button{width:9px;height:2px}.qb-home .qb-brief-visual>nav button.is-active{width:18px}
  .qb-home .qb-brief-copy{position:absolute;z-index:3;top:73px;left:0;padding:0 20px}.qb-home .qb-brief-copy h1{margin:0;color:#fff;font-size:28px;font-weight:760;line-height:1.08;letter-spacing:-.04em}.qb-home .qb-brief-copy h1 mark{color:var(--qb-lime);background:transparent}.qb-home .qb-brief-copy p{margin-top:10px;color:rgba(226,230,226,.64);font-size:10px;font-weight:450;letter-spacing:.03em}
  .qb-home .qb-today-card{right:14px;bottom:0;left:14px;min-height:92px;padding:10px 12px;border-radius:15px;box-shadow:0 6px 18px rgba(17,19,17,.055)}.qb-home .qb-today-card>header>b{font-size:13px;font-weight:680}.qb-home .qb-today-card>header>button{width:23px;height:23px}.qb-home .qb-today-card>div{margin-top:8px}.qb-home .qb-today-card>div>button{padding:0 5px;text-align:center}.qb-home .qb-today-card>div b{font-size:20px;font-weight:760}.qb-home .qb-today-card>div span{margin-top:4px;color:#989d99;font-size:8.5px;font-weight:450}
  .qb-home .qb-primary-actions{margin-top:8px;grid-template-columns:1fr;gap:6px}.qb-home .qb-primary-actions>button{min-height:47px;padding:6px 11px;grid-template-columns:30px minmax(0,1fr) 15px;gap:9px;border-radius:13px}.qb-home .qb-primary-actions>button>span b{font-size:13px;font-weight:680}.qb-home .qb-primary-actions>button>span small{margin-top:2px;color:#a0a5a1;font-size:8.5px;font-weight:430}.qb-home .qb-primary-actions>button>.qb-icon:first-child{width:29px;height:29px;padding:7px;border-radius:9px}
  .qb-home .qb-quick-tools{margin-top:7px;padding:2px 3px;gap:0;overflow:hidden;border:1px solid rgba(232,235,231,.62);border-radius:11px;background:rgba(255,255,255,.76)}.qb-home .qb-quick-tools>button{min-height:44px;padding:4px 2px;gap:3px;border-radius:0;background:transparent}.qb-home .qb-quick-tools>button:not(:last-child){border-right:1px solid rgba(232,235,231,.68)}.qb-home .qb-quick-tools .qb-icon{width:16.5px;height:16.5px;stroke-width:1.6}.qb-home .qb-quick-tools span{font-size:8.5px;font-weight:540;letter-spacing:-.01em}
  .qb-home .qb-section{margin-top:17px}.qb-home .qb-section>header{margin-bottom:7px}.qb-home .qb-section>header h2{font-size:18px;font-weight:720;letter-spacing:-.025em}.qb-home .qb-section>header>button{color:#868c87;font-size:10px}.qb-home .qb-home-courses .qb-linear-list{overflow:hidden;border:1px solid rgba(232,235,231,.68);border-radius:12px;background:#fff}.qb-home .qb-course-row{min-height:46px;padding:5px 10px;grid-template-columns:49px minmax(0,1fr) 14px;gap:8px;border-radius:0}.qb-home .qb-course-row:first-child,.qb-home .qb-course-row:last-child{border-radius:0}.qb-home .qb-course-row:last-child{border-bottom:0}.qb-home .qb-course-row time{font-size:13.5px;font-weight:700;letter-spacing:-.02em}.qb-home .qb-course-row>span:nth-child(2) b{font-size:11.5px;font-weight:650}.qb-home .qb-course-row>span:nth-child(2) small{margin-top:1px;color:#a2a7a3;font-size:8.5px;font-weight:420}.qb-home .qb-course-row>.qb-icon{width:13px;height:13px;color:#b8bdb9;stroke-width:1.55}
  .qb-home .qb-home-watch .qb-watch-strip{gap:0}.qb-home .qb-home-watch .qb-watch-card{min-height:49px;padding:4px;grid-template-columns:36px minmax(0,1fr) 42px;gap:8px;border-color:rgba(232,235,231,.72)}.qb-home .qb-home-watch .qb-person{width:34px;height:34px;border-radius:10px;font-size:11.5px;font-weight:720}.qb-home .qb-home-watch .qb-watch-card>div>b{margin-right:4px;font-size:13px;font-weight:650}.qb-home .qb-home-watch .qb-status{min-height:17px;padding:0 5px;font-size:8px;font-weight:560}.qb-home .qb-home-watch .qb-watch-card p{margin-top:2px;color:#a0a5a1;font-size:9px;font-weight:420}.qb-home .qb-home-watch .qb-watch-card>em{align-self:start;margin-top:4px;font-size:16px;font-weight:720;line-height:.95}.qb-home .qb-home-watch .qb-watch-card>em small{margin-top:3px;color:#adb2ae;font-size:7px;font-weight:450;line-height:1}.qb-home .qb-home-watch .qb-watch-card:first-child:after{display:none}
  .qb-home .qb-insight{margin-top:17px;padding:18px 16px;border-radius:15px;grid-template-columns:38px minmax(0,1fr);column-gap:13px;row-gap:7px}.qb-home .qb-insight>span{width:38px;height:38px}.qb-home .qb-insight small{color:#aebbb3;font-size:9px;font-weight:680}.qb-home .qb-insight h2{margin:5px 0 4px;font-size:18px;font-weight:700}.qb-home .qb-insight p{color:#c4cec8;font-size:11px;line-height:1.5}.qb-home .qb-insight>button{padding:6px 0 0;font-size:11px;font-weight:620}
}

@media(min-width:701px){
  .qb-home .qb-brief-copy h1 mark{color:var(--qb-lime);background:transparent}.qb-home .qb-brief{min-height:440px}.qb-home .qb-today-card{max-width:640px;margin-left:auto}.qb-home .qb-primary-actions{max-width:820px}.qb-home .qb-quick-tools{max-width:820px}
}
